@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-app:#2c3e50;--bg-sidebar:#34495e;--bg-sidebar-hover:#4a657e;--bg-chat:#fff;--bg-input-bar:#e8eef3;--accent:#1e6045;--accent-hover:#2ecc71;--accent-soft:#2ecc7126;--accent-glow:#2ecc7166;--text-primary:#ecf0f1;--text-secondary:#bdc3c7;--text-dark:#2c3e50;--text-muted:#7f8c8d;--border-subtle:#ffffff1a;--border-light:#d0d9e3;--surface-glass:#ffffff0d;--danger:#e74c3c;--danger-hover:#c0392b;--success:#2ecc71;--warning:#e67e22;--msg-bot-bg:#fff;--msg-bot-border:#d0d9e3;--msg-user-bg:linear-gradient(135deg,#1e6045 0%,#2a6f53 100%);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 40px #00000026;--shadow-glow:0 0 20px #2ecc7133;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-smooth:.25s cubic-bezier(.4,0,.2,1);--transition-spring:.3s cubic-bezier(.34,1.56,.64,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-app);height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;display:flex;overflow:hidden}#root{width:100%;height:100%;padding:12px;display:flex}.container{border-radius:var(--radius-xl);background:var(--bg-sidebar);width:100%;height:100%;box-shadow:0 0 0 1px var(--border-subtle),var(--shadow-lg);display:flex;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-subtle);flex-direction:column;width:272px;min-width:272px;padding:20px 14px 14px;display:flex;position:relative}.sidebar:after{content:"";background:linear-gradient(#0000,#00aeef1a,#0000);width:1px;position:absolute;top:0;bottom:0;right:0}.sidebar h2{color:var(--text-primary);text-align:left;letter-spacing:-.02em;align-items:center;gap:10px;margin-bottom:20px;padding:0 4px;font-size:1.25rem;font-weight:700;display:flex}.sidebar h2:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 8px var(--accent-glow);border-radius:50%;animation:2s infinite statusPulse;display:inline-block}@keyframes statusPulse{0%,to{opacity:1;box-shadow:0 0 8px var(--accent-glow)}50%{opacity:.6;box-shadow:0 0 4px var(--accent-glow)}}.new-chat{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);border:none;justify-content:center;align-items:center;gap:8px;margin-bottom:18px;padding:11px 16px;font-size:.88rem;font-weight:600;display:flex;box-shadow:0 2px 8px #00aeef40}.new-chat:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px #00aeef59}.new-chat:active{transform:translateY(0)}.history{flex:1;padding-right:4px;overflow-y:auto}.history::-webkit-scrollbar{width:4px}.history::-webkit-scrollbar-track{background:0 0}.history::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#ffffff1a}.history::-webkit-scrollbar-thumb:hover{background:#fff3}.history-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);word-break:break-word;background:0 0;border-left:2px solid #0000;justify-content:space-between;align-items:center;margin-bottom:3px;padding:10px 12px;font-size:.85rem;display:flex}.history-item:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.history-item.active{background:var(--accent-soft);border-left-color:var(--accent);color:var(--text-primary);font-weight:500}.history-item span{text-overflow:ellipsis;white-space:nowrap;flex-grow:1;margin-right:8px;overflow:hidden}.delete-chat-btn{color:var(--text-secondary);cursor:pointer;opacity:0;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:.9rem;line-height:1}.history-item:hover .delete-chat-btn{opacity:.6}.delete-chat-btn:hover{color:var(--danger);background:#ef44441a;opacity:1!important}.chat-area{background:var(--bg-chat);flex-direction:column;flex:1;display:flex;position:relative}.chat-header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);z-index:10;background:#fffffff2;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.chat-header h2{color:var(--text-dark);letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:600}.user-info{align-items:center;gap:10px;display:flex}.user-info span{color:var(--text-muted);border-radius:var(--radius-full);background:#f3f4f6;padding:4px 12px;font-size:.85rem;font-weight:500}.logout-button{color:var(--text-muted);border:1px solid var(--border-light);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);background:0 0;padding:6px 14px;font-size:.8rem;font-weight:500}.logout-button:hover{color:var(--danger);background:#fef2f2;border-color:#fecaca}.chat-window{scroll-behavior:smooth;flex-direction:column;flex:1;gap:16px;padding:24px 28px;display:flex;overflow-y:auto}.chat-window::-webkit-scrollbar{width:5px}.chat-window::-webkit-scrollbar-track{background:0 0}.chat-window::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#d1d5db}.chat-window::-webkit-scrollbar-thumb:hover{background:#9ca3af}.message-wrapper{gap:12px;max-width:88%;margin-bottom:2px;animation:.35s cubic-bezier(.4,0,.2,1) messageSlideIn;display:flex}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-wrapper.bot{align-self:flex-start}.message-wrapper.user{flex-direction:row-reverse;align-self:flex-end}.avatar{border-radius:var(--radius-md);width:34px;height:34px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#e0f2fe,#dbeafe);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.message-wrapper.user .avatar{background:linear-gradient(135deg,var(--accent),#08c);color:#fff}.message{border-radius:var(--radius-lg);padding:14px 18px;font-size:.92rem;line-height:1.6;position:relative}.bot .message{background:var(--msg-bot-bg);color:var(--text-dark);border:1px solid var(--msg-bot-border);box-shadow:var(--shadow-sm);border-top-left-radius:4px}.user .message{background:var(--msg-user-bg);color:#fff;border-top-right-radius:4px;box-shadow:0 2px 8px #00aeef33}.typing-cursor{background-color:var(--accent);vertical-align:middle;border-radius:1px;width:2px;height:1.1em;margin-left:2px;animation:.7s infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.message:not(.is-typing) .typing-cursor{display:none}.chat-input-form{background:var(--bg-input-bar);border-top:1px solid var(--border-light);align-items:flex-end;gap:10px;padding:16px 20px;display:flex}.chat-input-form textarea{border-radius:var(--radius-md);resize:none;color:var(--text-dark);max-height:120px;transition:var(--transition-fast);background:#f9fafb;border:1px solid #e5e7eb;outline:none;flex:1;padding:12px 16px;font-family:inherit;font-size:.92rem;line-height:1.5}.chat-input-form textarea::placeholder{color:#9ca3af}.chat-input-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fff}.chat-input-form button.send-btn{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:44px;height:44px;transition:var(--transition-smooth);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-weight:500;display:flex;box-shadow:0 2px 6px #00aeef33}.chat-input-form button.send-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05);box-shadow:0 4px 12px #00aeef4d}.chat-input-form button.send-btn:disabled{cursor:not-allowed;box-shadow:none;background:#d1d5db;transform:none}.mic-btn{border-radius:var(--radius-md);cursor:pointer;width:44px;height:44px;transition:var(--transition-smooth);color:var(--text-muted);background:#f3f4f6;border:1px solid #e5e7eb;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mic-btn:hover:not(:disabled){color:var(--text-dark);background:#e5e7eb}.mic-btn.recording{background:var(--danger);border-color:var(--danger);color:#fff;animation:1.5s infinite recordingPulse}.mic-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes recordingPulse{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.autopilot-container{border-top:1px solid var(--border-light);background:#fafbfc;justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.autopilot-label{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);align-items:center;gap:10px;font-size:.85rem;font-weight:500;display:flex}.container.autopilot-theme .autopilot-label{color:var(--accent);font-weight:600}.switch{width:40px;height:22px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;transition:var(--transition-smooth);border-radius:var(--radius-full);background:#d1d5db;position:absolute;inset:0}.slider:before{content:"";width:16px;height:16px;transition:var(--transition-spring);background-color:#fff;border-radius:50%;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}input:checked+.slider{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}input:checked+.slider:before{transform:translate(18px)}.autopilot-info{color:var(--warning);border-radius:var(--radius-full);background:#f59e0b14;padding:3px 10px;font-size:.75rem;font-weight:600;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.message p{margin-top:0;margin-bottom:.5em}.message p:last-child{margin-bottom:0}.message strong{font-weight:600}.message em{font-style:italic}.message ul,.message ol{margin:6px 0 6px 18px;padding:0}.message li{margin-bottom:3px}.message code{color:#7c3aed;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:5px;padding:2px 6px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.83em}.message pre{border-radius:var(--radius-sm);background:#1e1e2e;border:1px solid #313244;padding:14px 16px;font-size:.83em;overflow-x:auto}.message pre code{color:#cdd6f4;background:0 0;border:none;padding:0}.bot .message a{color:var(--accent);font-weight:500;text-decoration:none}.bot .message a:hover{color:var(--accent-hover);text-decoration:underline}.user .message a{color:#bfdbfe;text-decoration:underline}.message table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-sm);border:1px solid #e5e7eb;width:100%;margin:14px 0;font-size:.84rem;overflow:hidden}.message th,.message td{text-align:left;color:var(--text-dark);border-bottom:1px solid #f3f4f6;padding:10px 14px;line-height:1.4}.message th{color:#374151;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;border-bottom:2px solid #e5e7eb;font-size:.78rem;font-weight:600}.message td{background:#fff}.message tr:last-child td{border-bottom:none}.message tr:hover td{background:#f9fafb}.message td ul{color:var(--text-dark);margin:0;padding-left:16px}.message td li{margin-bottom:0}.message td code{color:#dc2626;background:#fef3f2;border-color:#fecaca}.loading-message{border:1px solid var(--border-light)!important;background:#fff!important}.loading-indicator{align-items:center;gap:14px;display:flex}.loading-dots{align-items:center;gap:5px;display:flex}.loading-dots .dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both dotBounce}.loading-dots .dot:first-child{animation-delay:-.32s}.loading-dots .dot:nth-child(2){animation-delay:-.16s}.loading-dots .dot:nth-child(3){animation-delay:0s}@keyframes dotBounce{0%,80%,to{opacity:.3;transform:scale(.4)}40%{opacity:1;transform:scale(1)}}.loading-text{color:var(--text-muted);font-size:.88rem;font-weight:500;animation:2s infinite pulse}.container.autopilot-theme{--bg-chat:#0a0e17;--bg-input-bar:#0d131f;--msg-bot-bg:#0d131fd9;--msg-bot-border:#00aeef66;--text-dark:#e8edf4;--border-light:#00aeef33;box-shadow:0 0 0 1px var(--accent),0 0 40px #00aeef40}.container.autopilot-theme .chat-area{background-color:var(--bg-chat);background-image:linear-gradient(#00aeef0d 1px,#0000 1px),linear-gradient(90deg,#00aeef0d 1px,#0000 1px);background-position:-1px -1px;background-size:30px 30px}.container.autopilot-theme .chat-window{background:0 0}.container.autopilot-theme .chat-header{color:var(--accent);background:#0a0e17d9;border-bottom:1px solid #00aeef4d}.container.autopilot-theme .chat-header h2{color:var(--accent);text-shadow:0 0 12px #00aeef99;letter-spacing:.05em;font-family:Courier New,Courier,monospace;font-weight:700}.container.autopilot-theme .chat-header h2:before{content:"> ";opacity:.7}.container.autopilot-theme .user-info span{color:var(--accent);background:#00aeef1a;border:1px solid #00aeef4d}.container.autopilot-theme .logout-button{color:var(--accent);border-color:#00aeef66}.container.autopilot-theme .logout-button:hover{background:#00aeef33;box-shadow:0 0 10px #00aeef4d}.container.autopilot-theme .chat-input-form{background:var(--bg-input-bar);border-top:1px solid #00aeef4d}.container.autopilot-theme .chat-input-form textarea{color:#00aeef;background:#0006;border-color:#00aeef66;font-family:Courier New,Courier,monospace}.container.autopilot-theme .chat-input-form textarea::placeholder{color:#00aeef80}.container.autopilot-theme .chat-input-form textarea:focus{border-color:var(--accent);box-shadow:inset 0 0 20px #00aeef26,0 0 10px #00aeef33}.container.autopilot-theme .mic-btn{color:var(--accent);background:#0006;border-color:#00aeef66}.container.autopilot-theme .bot .message{-webkit-backdrop-filter:blur(8px);box-shadow:0 0 20px #00aeef1a}.container.autopilot-theme .loading-message{border:1px solid var(--accent)!important;background:#0a0e17cc!important;box-shadow:inset 0 0 20px #00aeef26!important}.container.autopilot-theme .loading-text{color:var(--accent);text-transform:uppercase;letter-spacing:1px;font-family:Courier New,Courier,monospace}.container.autopilot-theme .message table{border-color:#00aeef66;box-shadow:0 0 15px #00aeef1a}.container.autopilot-theme .message table th{color:var(--accent);border-bottom:2px solid var(--accent);background:#00aeef26;border-color:#00aeef66}.container.autopilot-theme .message table td{color:#e8edf4;background:#0a0e1799;border-color:#00aeef33}.container.autopilot-theme .message tr:hover td{background:#00aeef14}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.chat-window:empty:after{content:"Inicia una conversación con Sara 🚀";color:var(--text-muted);text-align:center;margin:auto;font-size:1rem}
