:root{--bg-dark: #0f172a;--bg-card: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent: #38bdf8;--accent-glow: rgba(56, 189, 248, .2);--border: #334155;--font-sans: "Inter", system-ui, -apple-system, sans-serif}body{margin:0;background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}#root{height:100vh}.app-container{display:flex;height:100%;overflow:hidden}.sidebar{width:240px;background-color:var(--bg-card);border-right:1px solid var(--border);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;color:var(--accent);margin-bottom:2rem}.nav-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;border:none;background:transparent;color:var(--text-secondary);font-size:.95rem;cursor:pointer;transition:all .2s ease;text-align:left}.nav-btn:hover{background-color:#ffffff0d;color:var(--text-primary)}.nav-btn.active{background-color:var(--accent-glow);color:var(--accent)}.content-area{flex:1;padding:2rem;display:flex;flex-direction:column;overflow:hidden}.page-title{font-size:1.5rem;font-weight:600;margin-bottom:2rem}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-icon{color:var(--accent)}.page-subtitle{font-size:.9rem;color:var(--text-secondary);margin:.25rem 0 0}.quick-actions{margin-bottom:1.5rem}.quick-actions-title{font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem;font-weight:500}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.quick-action-btn{padding:.5rem .75rem;background-color:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease;text-align:left}.quick-action-btn:hover:not(:disabled){background-color:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.quick-action-btn:disabled{opacity:.5;cursor:not-allowed}.chat-container{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto;width:100%}.messages-list{flex:1;overflow-y:auto;padding-right:1rem;display:flex;flex-direction:column;gap:1.5rem}.message{display:flex;gap:1rem;align-items:flex-start;max-width:80%}.message.human{align-self:flex-end;flex-direction:row-reverse}.message-bubble{background-color:var(--bg-card);padding:1rem;border-radius:1rem;border-top-left-radius:0;border:1px solid var(--border);line-height:1.5}.message.human .message-bubble{background-color:var(--accent);color:#000;border-radius:1rem;border-top-right-radius:0;border:none;font-weight:500}.chat-input-area{margin-top:1.5rem;position:relative}.chat-input{width:100%;padding:1rem 3rem 1rem 1rem;background-color:var(--bg-card);border:1px solid var(--border);border-radius:.75rem;color:var(--text-primary);font-family:inherit;font-size:1rem;resize:none;box-sizing:border-box}.chat-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.send-btn{position:absolute;right:1rem;top:1rem;background:none;border:none;color:var(--accent);cursor:pointer;padding:.25rem}.upload-container{max-width:600px;margin:0 auto;width:100%;background-color:var(--bg-card);padding:2rem;border-radius:1rem;border:1px solid var(--border);text-align:center}.dropzone{border:2px dashed var(--border);border-radius:.75rem;padding:4rem 2rem;cursor:pointer;transition:all .2s;margin:2rem 0}.dropzone:hover{border-color:var(--accent);background-color:#38bdf80d}.upload-status{margin-top:1rem;font-weight:500}.upload-status.success{color:#4ade80}.upload-status.error{color:#f87171}.copy-btn{background-color:#38bdf81a;border:1px solid var(--accent);color:var(--accent);border-radius:6px;padding:4px 8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;min-width:32px;height:28px;flex-shrink:0}.copy-btn:hover{background-color:#38bdf833;transform:scale(1.05)}.copy-btn:active{transform:scale(.95)}.copy-btn svg{stroke-width:2}@keyframes copySuccess{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.copy-btn:has(svg:last-child){animation:copySuccess .3s ease;background-color:#4ade8033;border-color:#4ade80;color:#4ade80}
