:root{--bg-main: #f8fafc;--bg-sidebar: #ffffff;--bg-card: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--accent: #4f46e5;--border: #e2e8f0;--msg-user: #4f46e5;--msg-ai: #f1f5f9}.dark-mode{--bg-main: #0f172a;--bg-sidebar: #1e293b;--bg-card: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent: #818cf8;--border: #334155;--msg-user: #6366f1;--msg-ai: #334155}body,html{margin:0;padding:0;height:100%;font-family:Inter,system-ui,sans-serif}.app-layout{display:grid;grid-template-columns:260px 1fr 300px;height:100vh;background-color:var(--bg-main);color:var(--text-primary);transition:all .3s ease}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.5rem}.brand{display:flex;align-items:center;gap:12px;margin-bottom:2.5rem}.logo-icon{background:var(--accent);color:#fff;width:35px;height:35px;border-radius:8px;display:grid;place-items:center;font-weight:700}.brand-name{font-weight:700;font-size:1.2rem}.nav-links{display:flex;flex-direction:column;gap:.5rem}.nav-item{display:flex;align-items:center;gap:12px;padding:.8rem 1rem;border-radius:8px;text-decoration:none;color:var(--text-secondary);font-weight:500;transition:.2s}.nav-item:hover,.nav-item.active{background:var(--accent);color:#fff}.history-section{margin-top:2rem}.section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:1rem}.history-item{font-size:.9rem;padding:.5rem 1rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-main{display:flex;flex-direction:column;height:100vh;position:relative}.chat-header{padding:1rem 2rem;border-bottom:1px solid var(--border);background:var(--bg-card)}.status-indicator{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary)}.dot{width:8px;height:8px;background:#22c55e;border-radius:50%}.messages-viewport{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.message-row{display:flex;gap:12px;max-width:80%}.message-row.user{flex-direction:row-reverse;align-self:flex-end}.avatar{width:32px;height:32px;border-radius:8px;background:var(--border);display:grid;place-items:center;font-size:.7rem;font-weight:700;flex-shrink:0}.user .avatar{background:var(--accent);color:#fff}.message-bubble{padding:1rem;border-radius:12px;background:var(--msg-ai);position:relative}.user .message-bubble{background:var(--msg-user);color:#fff;border-top-right-radius:0}.assistant .message-bubble{border-top-left-radius:0}.timestamp{display:block;font-size:.7rem;margin-top:8px;opacity:.6}.input-area{padding:1.5rem 2rem;background:linear-gradient(transparent,var(--bg-main) 20%)}.input-container{max-width:800px;margin:0 auto;display:flex;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:.5rem;box-shadow:0 10px 15px -3px #0000001a}.input-container input{flex:1;border:none;background:transparent;padding:.8rem 1rem;color:var(--text-primary);outline:none}.send-btn{background:var(--accent);color:#fff;border:none;padding:.8rem;border-radius:12px;cursor:pointer;display:grid;place-items:center}.config-panel{background:var(--bg-sidebar);border-left:1px solid var(--border);padding:1.5rem;display:flex;flex-direction:column;gap:2rem}.config-label{display:flex;align-items:center;gap:8px;font-weight:600;margin-bottom:1rem}.slider-container{background:var(--bg-main);padding:1rem;border-radius:12px}.slider{width:100%;accent-color:var(--accent)}.slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);margin-top:8px}.theme-toggle{width:100%;padding:.8rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-weight:500}.divider{height:1px;background:var(--border)}.status-card{padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;display:flex;justify-content:space-between;font-size:.85rem}.dark-mode .status-card{background:#064e3b;border-color:#065f46;color:#ecfdf5}.status-online{color:#16a34a;font-weight:700}
