@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&family=Roboto:wght@400;500;700&display=swap";:root{--azul-profundo: #003366;--cian-corporativo: #008CBA;--verde-crecimiento: #39FF14;--gris-institucional: #333333;--primary: var(--azul-profundo);--primary-light: var(--cian-corporativo);--accent: var(--verde-crecimiento);--success: #10b981;--warning: #f59e0b;--bg: #f8fafc;--card-bg: #ffffff;--text: var(--gris-institucional);--text-secondary: #64748b;--border: #e2e8f0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:2rem;min-height:100vh;display:flex;flex-direction:column}.header{text-align:center;margin-bottom:3rem;padding:2rem 0}.brand{display:flex;align-items:center;justify-content:center;gap:1.5rem}.logo{width:80px;height:80px;object-fit:contain}.brand-text{text-align:left}.header h1{font-family:Poppins,sans-serif;font-size:2.5rem;font-weight:700;letter-spacing:.05em;margin-bottom:.25rem}.header h1 .synapsis{color:var(--azul-profundo)}.header h1 .data{color:var(--cian-corporativo)}.subtitle{font-family:Poppins,sans-serif;font-size:1rem;color:var(--text-secondary);font-weight:400}.loading,.error{text-align:center;padding:3rem;font-size:1.125rem}.error{color:#dc2626}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:3rem}.project-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:1.75rem;transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--azul-profundo),var(--cian-corporativo))}.project-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #00336626}.project-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.project-logo{width:48px;height:48px;object-fit:contain;flex-shrink:0}.project-card h2{font-family:Poppins,sans-serif;font-size:1.35rem;color:var(--azul-profundo);margin:0;font-weight:600}.description{color:var(--text-secondary);margin-bottom:1.5rem;min-height:3rem}.project-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem}.status{padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.status.producción{background:#d1fae5;color:#065f46}.status.en-desarrollo{background:#fef3c7;color:#92400e}.btn{background:var(--cian-corporativo);color:#fff;padding:.6rem 1.25rem;border-radius:8px;text-decoration:none;font-family:Poppins,sans-serif;font-weight:500;font-size:.9rem;transition:all .3s ease}.btn:hover{background:var(--azul-profundo);transform:scale(1.02)}.main{flex:1}.footer{text-align:center;padding:2rem 0;color:var(--text-secondary);border-top:1px solid var(--border);margin-top:auto;font-size:.9rem}@media (max-width: 768px){.container{padding:1rem}.brand{flex-direction:column;gap:1rem}.brand-text{text-align:center}.logo{width:60px;height:60px}.header h1{font-size:1.75rem}.projects-grid{grid-template-columns:1fr}.project-footer{flex-direction:column;align-items:flex-start}}.chat-fab{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--azul-profundo),var(--cian-corporativo));border:none;cursor:pointer;box-shadow:0 4px 20px #0366;transition:all .3s ease;z-index:1000;display:flex;align-items:center;justify-content:center}.chat-fab svg{width:28px;height:28px;color:#fff}.chat-fab:hover{transform:scale(1.1);box-shadow:0 6px 30px #00336680}.chat-fab.open{background:var(--gris-institucional)}.chat-window{position:fixed;bottom:100px;right:24px;width:380px;height:520px;background:var(--card-bg);border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;overflow:hidden;z-index:999;opacity:0;visibility:hidden;transform:translateY(20px) scale(.95);transition:all .3s ease}.chat-window.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.chat-header{background:linear-gradient(135deg,var(--azul-profundo),var(--cian-corporativo));color:#fff;padding:16px;display:flex;justify-content:space-between;align-items:center}.chat-header-info{display:flex;align-items:center;gap:12px}.chat-avatar{width:40px;height:40px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}.chat-header h3{font-family:Poppins,sans-serif;font-size:1rem;margin:0}.chat-status{font-size:.75rem;opacity:.9}.chat-close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;opacity:.8;transition:opacity .2s}.chat-close:hover{opacity:1}.chat-close svg{width:20px;height:20px}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#f8fafc}.chat-message{max-width:85%;animation:messageIn .3s ease}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.user{align-self:flex-end}.chat-message.assistant{align-self:flex-start}.message-content{padding:12px 16px;border-radius:16px;font-size:.9rem;line-height:1.5}.chat-message.user .message-content{background:linear-gradient(135deg,var(--azul-profundo),var(--cian-corporativo));color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .message-content{background:#fff;color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-message.error .message-content{background:#fef2f2;border-color:#fecaca;color:#dc2626}.message-content p{margin:0 0 8px}.message-content p:last-child{margin-bottom:0}.message-content .chat-h4{font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;color:var(--azul-profundo);margin:8px 0 4px}.message-content .chat-bold{font-weight:600}.message-content li{margin-left:16px;margin-bottom:4px}.context-used{font-size:.7rem;color:var(--text-secondary);margin-top:6px;padding-left:4px}.typing{display:flex;gap:4px;padding:16px 20px}.typing span{width:8px;height:8px;background:var(--cian-corporativo);border-radius:50%;animation:typing 1.4s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.chat-input-area{padding:12px;background:#fff;border-top:1px solid var(--border)}.upload-area{background:#f1f5f9;border:2px dashed var(--border);border-radius:8px;padding:12px;margin-bottom:12px;text-align:center}.upload-area input{width:100%;font-size:.85rem}.upload-area p{font-size:.75rem;color:var(--text-secondary);margin-top:6px}.chat-form{display:flex;gap:8px;align-items:center}.chat-form input{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:24px;font-size:.9rem;outline:none;transition:border-color .2s}.chat-form input:focus{border-color:var(--cian-corporativo)}.chat-form button{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.chat-form button[type=submit]{background:linear-gradient(135deg,var(--azul-profundo),var(--cian-corporativo));color:#fff}.chat-form button[type=submit]:hover:not(:disabled){transform:scale(1.05)}.chat-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.attach-btn{background:#f1f5f9;color:var(--text-secondary)}.attach-btn:hover{background:#e2e8f0;color:var(--text)}.chat-form button svg{width:20px;height:20px}@media (max-width: 480px){.chat-fab{bottom:16px;right:16px;width:56px;height:56px}.chat-window{bottom:0;right:0;left:0;width:100%;height:100%;border-radius:0}.chat-window.open{border-radius:0}}
