:root{--bg-color: #0f172a;--panel-bg: rgba(30, 41, 59, .7);--text-main: #f8fafc;--text-muted: #94a3b8;--accent: #3b82f6;--accent-hover: #2563eb;--border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37)}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{background:var(--bg-color);color:var(--text-main);min-height:100vh;display:flex;justify-content:center;align-items:center;background-image:radial-gradient(circle at top right,#1e1b4b,#0f172a)}.app-container{width:90%;max-width:1000px;height:85vh;display:flex;flex-direction:column;background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:20px;box-shadow:var(--glass-shadow);overflow:hidden}.app-header{padding:20px 30px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#0f172a80}.app-header h1{font-size:1.5rem;font-weight:600;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.doc-badge{background:#10b98133;color:#34d399;padding:6px 12px;border-radius:20px;font-size:.85rem;border:1px solid rgba(16,185,129,.3)}.upload-modal{display:flex;gap:15px;align-items:center}.upload-modal input[type=file]{font-size:.9rem;color:var(--text-muted)}.upload-modal input[type=file]::file-selector-button{background:#ffffff0d;border:1px solid var(--border);color:var(--text-main);padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s}.upload-modal input[type=file]::file-selector-button:hover{background:#ffffff1a}button{background:var(--accent);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #3b82f64d}button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}button:disabled{background:#3b82f680;cursor:not-allowed;box-shadow:none}.error{color:#ef4444;font-size:.85rem}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-window{display:flex;flex-direction:column;height:100%}.messages-area{flex:1;overflow-y:auto;padding:30px;display:flex;flex-direction:column;gap:20px}.message{max-width:80%;padding:16px 20px;border-radius:16px;line-height:1.5;animation:fadeIn .3s ease;font-size:.95rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:4px;box-shadow:0 4px 12px #3b82f633}.message.assistant{background:#ffffff0d;border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:4px}.loading{font-style:italic;color:var(--text-muted)}.citations{margin-top:15px;padding-top:15px;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-muted)}.citations ul{list-style-type:none;margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.citations li{background:#0003;padding:4px 10px;border-radius:12px;border:1px solid var(--border);cursor:help;transition:background .2s}.citations li:hover{background:#ffffff1a;color:var(--text-main)}.input-area{padding:20px;border-top:1px solid var(--border);display:flex;gap:15px;background:#0f172a4d}.input-area input{flex:1;background:#0003;border:1px solid var(--border);border-radius:12px;padding:14px 20px;color:var(--text-main);font-size:1rem;outline:none;transition:border-color .2s}.input-area input:focus{border-color:var(--accent);background:#0000004d}.input-area input::placeholder{color:var(--text-muted)}
