*{margin:0;padding:0;box-sizing:border-box}button,input,select,textarea{color:inherit}:root{--bg: #f8f9fa;--surface: #ffffff;--surface-2: #fafafa;--surface-hover: #f3f4f6;--text: #1a1a1a;--text-muted: #6b7280;--text-subtle: #9ca3af;--text-strong: #374151;--border: #e5e7eb;--accent: #0f766e;--accent-hover: #0d5f58;--accent-soft-bg: #f0fdfa;--accent-soft-border: #99f6e4;--on-accent: #ffffff;--danger: #dc2626;--danger-bg: #fef2f2;--danger-border: #fecaca;--success: #16a34a;--success-bg: #f0fdf4;--success-border: #bbf7d0;--input-disabled-bg: #f9fafb}[data-theme=dark]{--bg: #0f1115;--surface: #1a1d23;--surface-2: #22262e;--surface-hover: #2a2f38;--text: #e5e7eb;--text-muted: #9ca3af;--text-subtle: #6b7280;--text-strong: #cbd5e1;--border: #333a45;--accent: #2dd4bf;--accent-hover: #5eead4;--accent-soft-bg: #0d2f2b;--accent-soft-border: #155e56;--on-accent: #06231f;--danger: #f87171;--danger-bg: #2a1416;--danger-border: #5b1f22;--success: #4ade80;--success-bg: #10241a;--success-border: #1c5334;--input-disabled-bg: #22262e}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.app{display:flex;height:100vh}.main{flex:1;min-width:0;display:flex;flex-direction:column;width:100%}.header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.header-left{display:flex;align-items:center;gap:12px}.header-logo-wrap{position:relative;width:48px;height:48px;flex-shrink:0;cursor:pointer}.header-logo{width:48px;height:48px;border-radius:12px}.header-logo-wrap .header-logo{position:absolute;top:0;right:0;bottom:0;left:0}.header-logo-wrap .logo-default{opacity:1;transition:opacity .25s ease}.header-logo-wrap:hover .logo-default{opacity:0}.header h1{font-size:1.25rem;font-weight:700}.subtitle{font-size:.8rem;color:var(--text-muted)}.header-right{display:flex;align-items:center;gap:16px}.status-badge{display:flex;align-items:center;gap:6px}.airtable-icon{height:40px;width:auto}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.connected{background:#22c55e}.status-dot.offline{background:#ef4444}.status-text{font-size:.75rem;color:var(--text-muted)}.feedback-btn{padding:6px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;font-size:.8rem}.feedback-btn:hover{background:var(--surface-hover)}.theme-toggle-btn{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.theme-toggle-btn:hover{background:var(--surface-hover);color:var(--text)}.new-session-btn{padding:6px 14px;border:1px solid var(--accent);border-radius:8px;background:var(--surface);color:var(--accent);cursor:pointer;font-size:.8rem;font-weight:500}.new-session-btn:hover{background:var(--accent-soft-bg)}.chat-container{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.message{display:flex;gap:10px;align-items:flex-start}.message-user{flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.message-avatar-wrap{position:relative;width:32px;height:32px;flex-shrink:0;cursor:pointer}.message-avatar-wrap .message-avatar{position:absolute;top:0;right:0;bottom:0;left:0}.message-avatar-wrap .logo-default{opacity:1;transition:opacity .25s ease}.message-avatar-wrap:hover .logo-default{opacity:0}.user-avatar{background:var(--accent);display:flex;align-items:center;justify-content:center}.bubble{max-width:75%;padding:12px 16px;border-radius:16px;line-height:1.5;font-size:.9rem}.bubble-user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px}.bubble-assistant{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px}.list-item{display:block;padding-left:20px;text-indent:-4px}.list-item.bullet{padding-left:28px;position:relative}.list-item.bullet:before{content:"•";position:absolute;left:14px}.citations{margin-top:10px;padding-top:8px;border-top:1px solid var(--border);font-size:.8rem}.citations-label{font-weight:600;margin-right:6px}.citation-link{color:var(--accent);text-decoration:none;margin-right:8px}.citation-link:hover{text-decoration:underline}.loading-bubble{display:flex;align-items:center;gap:8px;padding:12px 16px;color:var(--text-muted);font-size:.85rem}.dot-pulse{width:8px;height:8px;background:var(--accent);border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.chat-input-container{padding:16px 24px;border-top:1px solid var(--border);background:var(--surface);display:flex;gap:10px}.chat-input{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:12px;font-size:.9rem;resize:none;outline:none;font-family:inherit;background:var(--surface);color:var(--text)}.chat-input::placeholder,.feedback-form textarea::placeholder,.login-field input::placeholder{color:var(--text-subtle)}.chat-input:focus{border-color:var(--accent)}.send-btn{width:44px;height:44px;border:none;background:var(--accent);color:var(--on-accent);border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.faq-section{display:flex;flex-direction:column;align-items:center;padding:40px 20px;gap:24px}.welcome{text-align:center}.welcome-logo{width:80px;height:80px;border-radius:20px;margin-bottom:12px}.welcome h2{margin-bottom:6px}.welcome p{color:var(--text-muted)}.welcome-logo-wrap{display:inline-flex;flex-direction:column;align-items:center;cursor:pointer}.welcome-logo-imgs{position:relative;width:80px;height:80px;margin:0 auto 12px}.welcome-logo-imgs .welcome-logo{position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.welcome-logo-wrap .logo-default{opacity:1;transition:opacity .25s ease}.welcome-logo-wrap:hover .logo-default{opacity:0}.welcome-title{position:relative;display:inline-block}.welcome-title .title-reborned{position:absolute;top:0;left:50%;transform:translate(-50%);white-space:nowrap;opacity:0;transition:opacity .25s ease}.welcome-title .title-default{opacity:1;transition:opacity .25s ease}.welcome-logo-wrap:hover .title-default{opacity:0}.welcome-logo-wrap:hover .title-reborned{opacity:1}.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:720px}@media (max-width: 640px){.faq-grid{grid-template-columns:1fr}}.faq-btn{padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);cursor:pointer;font-size:.85rem;text-align:left;transition:border-color .2s,background .2s}.faq-btn:hover{border-color:var(--accent);background:var(--surface-hover)}.feedback-panel{width:340px;flex-shrink:0;height:100vh;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column}.feedback-panel-header{height:80px;padding:0 20px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--border)}.feedback-panel-header h3{font-size:1rem;font-weight:700}.sidebar-desc{color:var(--text-muted);font-size:.8rem;margin-top:4px}.feedback-list{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.feedback-empty{color:var(--text-subtle);font-size:.85rem;text-align:center;margin-top:16px}.feedback-item{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-2)}.feedback-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;gap:8px}.feedback-cat{font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-soft-bg);border:1px solid var(--accent-soft-border);border-radius:6px;padding:2px 8px}.feedback-date{font-size:.72rem;color:var(--text-subtle);flex-shrink:0}.feedback-text{font-size:.85rem;line-height:1.4;color:var(--text-strong);white-space:pre-wrap;word-break:break-word}.feedback-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:8px}.solved-badge{margin-right:auto;font-size:.7rem;font-weight:600;color:var(--success);background:var(--success-bg);border:1px solid var(--success-border);border-radius:6px;padding:2px 8px}.fb-action-btn{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:28px;height:26px;cursor:pointer;font-size:.85rem;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--text-strong)}.fb-action-btn:hover{background:var(--surface-hover)}.fb-delete:hover{background:var(--danger-bg);border-color:var(--danger-border)}.feedback-item.solved{opacity:.6}.feedback-item.solved .feedback-text{text-decoration:line-through;color:var(--text-muted)}.feedback-form{padding:14px 16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px;background:var(--surface)}.feedback-form label{font-size:.8rem;font-weight:600;margin-top:4px}.feedback-form select,.feedback-form textarea{padding:10px;border:1px solid var(--border);border-radius:8px;font-family:inherit;background:var(--surface);color:var(--text);font-size:.85rem;outline:none}.submit-btn{margin-top:12px;padding:12px;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;font-size:.9rem}.submit-btn:disabled{opacity:.5}.submit-btn:hover:not(:disabled){background:var(--accent-hover)}.login-container{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg)}.login-form{width:100%;max-width:380px;padding:32px;background:var(--surface);border-radius:16px;border:1px solid var(--border);display:flex;flex-direction:column;gap:16px}.login-header{text-align:center;margin-bottom:8px}.login-logo{width:64px;height:64px;border-radius:16px;margin-bottom:12px}.login-logo-wrap{display:inline-flex;flex-direction:column;align-items:center;cursor:pointer}.login-logo-imgs{position:relative;width:64px;height:64px;margin:0 auto 12px}.login-logo-imgs .login-logo{position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.login-logo-wrap .logo-default{opacity:1;transition:opacity .25s ease}.login-logo-wrap:hover .logo-default{opacity:0}.login-title{position:relative;display:inline-block;font-size:1.25rem;font-weight:700}.login-title .title-reborned{position:absolute;top:0;left:50%;transform:translate(-50%);white-space:nowrap;opacity:0;transition:opacity .25s ease}.login-title .title-default{opacity:1;transition:opacity .25s ease}.login-logo-wrap:hover .title-default{opacity:0}.login-logo-wrap:hover .title-reborned{opacity:1}.login-header h1{font-size:1.25rem;font-weight:700}.login-subtitle{font-size:.85rem;color:var(--text-muted);margin-top:4px}.login-error{padding:10px 14px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:8px;color:var(--danger);font-size:.85rem}.login-field{display:flex;flex-direction:column;gap:6px}.login-field label{font-size:.8rem;font-weight:600;color:var(--text-strong)}.login-field input{padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-family:inherit;outline:none;background:var(--surface);color:var(--text)}.login-field input:focus{border-color:var(--accent)}.login-field input:disabled{background:var(--input-disabled-bg);color:var(--text-subtle)}.login-btn{margin-top:8px;padding:12px;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn:hover:not(:disabled){background:var(--accent-hover)}
