@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1f1f1f;--text-primary: #ffffff;--text-secondary: #888;--accent: #6366f1;--accent-light: #818cf8;--user-bubble: #6366f1;--assistant-bubble: #1f1f1f;--border: #2a2a2a;--success: #22c55e;--admin: #f59e0b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}#root{height:100vh}.app{display:flex;flex-direction:column;height:100vh;max-width:1000px;margin:0 auto}.login-page{justify-content:center;align-items:center}.login-container{background:var(--bg-secondary);padding:3rem;border-radius:1rem;text-align:center;border:1px solid var(--border);max-width:400px;width:90%}.login-container h1{font-size:2rem;margin-bottom:.5rem}.login-container p{color:var(--text-secondary);margin-bottom:2rem}.login-container form{display:flex;flex-direction:column;gap:1rem}.login-container input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.5rem;padding:1rem;color:var(--text-primary);font-size:1rem}.login-container button{background:var(--accent);color:#fff;border:none;border-radius:.5rem;padding:1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.login-container button:hover{background:var(--accent-light)}.header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.header h1{font-size:1.25rem}.header-right{display:flex;align-items:center;gap:1rem}.user-email{color:var(--text-secondary);font-size:.875rem}.logout-btn,.admin-btn{background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;font-size:.875rem}.admin-btn{border-color:var(--admin);color:var(--admin)}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.messages{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1rem}.welcome{text-align:center;color:var(--text-secondary);padding:3rem 1rem}.welcome h2{color:var(--text-primary);margin-bottom:1rem}.welcome ul{list-style:none;margin-top:1rem}.welcome li{padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:.5rem;margin:.5rem 0;font-size:.875rem}.message{max-width:80%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-content{padding:1rem 1.25rem;border-radius:1rem;line-height:1.6;white-space:pre-wrap}.message.user .message-content{background:var(--user-bubble);border-bottom-right-radius:4px}.message.assistant .message-content{background:var(--assistant-bubble);border:1px solid var(--border);border-bottom-left-radius:4px}.sources{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);color:var(--text-secondary)}.message.loading .message-content{display:flex;gap:4px;padding:1rem 1.5rem}.dot{width:8px;height:8px;background:var(--text-secondary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.input-form{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border);background:var(--bg-secondary)}.input-form input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.75rem;padding:1rem;color:var(--text-primary);font-size:1rem}.input-form input:focus{outline:none;border-color:var(--accent)}.input-form button{background:var(--accent);color:#fff;border:none;border-radius:.75rem;padding:1rem 1.5rem;font-weight:500;cursor:pointer}.input-form button:disabled{opacity:.5;cursor:not-allowed}.admin-panel{padding:2rem;overflow-y:auto}.admin-panel h2{margin-bottom:2rem}.admin-panel h3{margin-bottom:1rem;color:var(--text-secondary)}.add-user-form{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;margin-bottom:2rem;border:1px solid var(--border)}.add-user-form form{display:flex;gap:1rem;flex-wrap:wrap}.add-user-form input,.add-user-form select{flex:1;min-width:150px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:.5rem;padding:.75rem;color:var(--text-primary)}.add-user-form button{background:var(--success);color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;cursor:pointer}.users-list table{width:100%;border-collapse:collapse}.users-list th,.users-list td{padding:1rem;text-align:left;border-bottom:1px solid var(--border)}.users-list th{color:var(--text-secondary);font-weight:500}.role-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500}.role-badge.admin{background:var(--admin);color:#000}.role-badge.standard{background:var(--bg-tertiary)}.collection-selector{padding:1rem 1.5rem .5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.collection-dropdown{width:100%;padding:.75rem;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:.5rem;font-size:.9rem;cursor:pointer}.collection-dropdown:focus{outline:none;border-color:var(--accent)}
