:root{--modern-brand-primary:#6B8DE5;--modern-brand-secondary:#7F9BED;--modern-brand-accent:#5C7BD9;--modern-brand-gradient:#6B8DE5;--modern-brand-gradient-subtle:rgba(107,141,229,0.10);--modern-bg-primary:#1B1B1F;--modern-bg-secondary:#202024;--modern-bg-tertiary:#292930;--modern-bg-hover:rgba(255,255,255,0.06);--modern-bg-active:rgba(255,255,255,0.09);--modern-surface-chat:#1B1B1F;--modern-surface-sidebar:#202024;--modern-surface-input:#292930;--modern-surface-message-user:rgba(107,141,229,0.12);--modern-surface-message-ai:transparent;--modern-surface-elevated:#2D2D35;--modern-surface-card:#292930;--modern-surface-overlay:rgba(0,0,0,0.5);--modern-text-primary:#E8E8ED;--modern-text-secondary:#9E9EA6;--modern-text-muted:#6B6B76;--modern-text-inverse:#1B1B1F;--modern-border-subtle:rgba(255,255,255,0.06);--modern-border-default:rgba(255,255,255,0.10);--modern-border-strong:rgba(255,255,255,0.16);--modern-border-glow:rgba(107,141,229,0.35);--modern-shadow-xs:0 1px 2px rgba(0,0,0,0.12);--modern-shadow-sm:0 2px 4px rgba(0,0,0,0.14);--modern-shadow-md:0 4px 12px rgba(0,0,0,0.16);--modern-shadow-lg:0 8px 24px rgba(0,0,0,0.20);--modern-shadow-xl:0 16px 40px rgba(0,0,0,0.24);--modern-shadow-glow:0 0 0 1px rgba(107,141,229,0.25);--modern-shadow-glow-strong:0 0 0 2px rgba(107,141,229,0.35);--modern-shadow-card:0 1px 4px rgba(0,0,0,0.16);--modern-shadow-card-hover:0 4px 12px rgba(0,0,0,0.22);--modern-sidebar-width:300px;--modern-sidebar-collapsed:0px;--modern-sidebar-gap:8px;--modern-chat-max-width:860px;--modern-input-max-width:860px;--modern-radius-xs:4px;--modern-radius-sm:6px;--modern-radius-md:8px;--modern-radius-lg:10px;--modern-radius-xl:12px;--modern-radius-2xl:16px;--modern-radius-full:9999px;--modern-transition-fast:120ms cubic-bezier(0.4,0,0.2,1);--modern-transition-normal:200ms cubic-bezier(0.4,0,0.2,1);--modern-transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--modern-transition-spring:400ms cubic-bezier(0.34,1.56,0.64,1);--modern-transition-bounce:500ms cubic-bezier(0.68,-0.55,0.27,1.55)}.light,[data-theme=light]{--modern-bg-primary:#F5F5F7;--modern-bg-secondary:#FFFFFF;--modern-bg-tertiary:#F0F0F3;--modern-bg-hover:rgba(0,0,0,0.03);--modern-bg-active:rgba(0,0,0,0.05);--modern-surface-chat:#F5F5F7;--modern-surface-sidebar:rgba(255,255,255,0.85);--modern-surface-input:rgba(255,255,255,0.9);--modern-surface-message-user:rgba(108,142,239,0.08);--modern-surface-message-ai:transparent;--modern-surface-elevated:rgba(255,255,255,0.8);--modern-surface-card:rgba(255,255,255,0.7);--modern-surface-overlay:rgba(0,0,0,0.3);--modern-text-primary:#1D1D1F;--modern-text-secondary:#6E6E73;--modern-text-muted:#AEAEB2;--modern-text-inverse:#F5F5F7;--modern-border-subtle:rgba(0,0,0,0.04);--modern-border-default:rgba(0,0,0,0.08);--modern-border-strong:rgba(0,0,0,0.12);--modern-border-glow:rgba(108,142,239,0.3);--modern-shadow-xs:0 1px 2px rgba(0,0,0,0.04);--modern-shadow-sm:0 2px 8px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--modern-shadow-md:0 8px 24px rgba(0,0,0,0.08),0 2px 8px rgba(0,0,0,0.04);--modern-shadow-lg:0 16px 48px rgba(0,0,0,0.12),0 4px 16px rgba(0,0,0,0.06);--modern-shadow-xl:0 24px 64px rgba(0,0,0,0.15),0 8px 24px rgba(0,0,0,0.08);--modern-shadow-glow:0 0 20px rgba(108,142,239,0.1),0 0 40px rgba(108,142,239,0.04);--modern-shadow-glow-strong:0 0 40px rgba(108,142,239,0.2),0 0 80px rgba(108,142,239,0.08);--modern-shadow-card:0 2px 12px rgba(0,0,0,0.06),0 0 0 1px rgba(0,0,0,0.04);--modern-shadow-card-hover:0 6px 24px rgba(0,0,0,0.1),0 0 0 1px rgba(108,142,239,0.15)}.modern-ui{--background:var(--modern-bg-primary);--foreground:var(--modern-text-primary);background-color:var(--modern-bg-primary);color:var(--modern-text-primary);width:100vw;min-height:100vh;overflow-x:hidden}.modern-sidebar{width:var(--modern-sidebar-width);background:var(--modern-surface-sidebar);border-radius:0 var(--modern-radius-xl) var(--modern-radius-xl) 0;display:flex;flex-direction:column;height:calc(100vh - var(--modern-sidebar-gap) * 2);position:fixed;left:0;top:var(--modern-sidebar-gap);z-index:40;transition:transform var(--modern-transition-normal),opacity var(--modern-transition-normal);box-shadow:var(--modern-shadow-sm);border-right:1px solid var(--modern-border-subtle);overflow:hidden}.modern-sidebar.collapsed{transform:translateX(calc(-1 * var(--modern-sidebar-width) - 20px));opacity:0}.modern-sidebar-header{padding:16px 16px 12px;display:flex;align-items:center;justify-content:space-between}.modern-sidebar-content{flex:1;overflow-y:auto;padding:4px 10px}.modern-sidebar-footer{padding:12px}.modern-chat-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--modern-radius-sm);cursor:pointer;transition:all var(--modern-transition-fast);color:var(--modern-text-secondary);position:relative;font-size:13.5px}.modern-chat-item:hover{background:var(--modern-bg-hover);color:var(--modern-text-primary)}.modern-chat-item.active,.modern-chat-item.active:hover{background:var(--modern-brand-primary);color:#ffffff}.modern-chat-item.active:hover{opacity:.9}.modern-chat-item-title{flex:1;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modern-new-chat-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;border-radius:var(--modern-radius-sm);border:none;background:var(--modern-brand-primary);color:#fff;font-size:13.5px;font-weight:600;cursor:pointer;transition:all var(--modern-transition-fast);box-shadow:none;letter-spacing:.01em}.modern-new-chat-btn:hover{background:var(--modern-brand-secondary);filter:none}.modern-main-content{left:calc(var(--modern-sidebar-width) + var(--modern-sidebar-gap) * 3);transition:left var(--modern-transition-normal)}[data-sidebar-collapsed=true] .modern-main-content{left:var(--modern-sidebar-gap)}.modern-chat-container{margin-left:calc(var(--modern-sidebar-width) + var(--modern-sidebar-gap) * 2);width:calc(100vw - var(--modern-sidebar-width) - var(--modern-sidebar-gap) * 2);height:100vh;display:flex;flex-direction:column;background:var(--modern-bg-primary);transition:margin-left var(--modern-transition-normal),width var(--modern-transition-normal);overflow:hidden}.modern-chat-container.sidebar-collapsed{margin-left:0;width:100vw}.modern-chat-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:center;width:100%;padding:12px 24px;background:transparent;flex-shrink:0}.modern-chat-header-inner{display:flex;align-items:center;justify-content:space-between}.modern-chat-header-inner,.modern-chat-messages{width:100%;max-width:var(--modern-chat-max-width)}.modern-chat-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px 24px 16px;min-height:0;box-sizing:border-box}.modern-chat-messages-inner{width:100%}.modern-message{display:flex;padding:8px 0;width:100%;box-sizing:border-box}.modern-message.user{justify-content:flex-end}.modern-message.user .modern-message-inner{background:var(--modern-surface-message-user);border:1px solid var(--modern-border-subtle);border-radius:var(--modern-radius-lg) var(--modern-radius-lg) var(--modern-radius-xs) var(--modern-radius-lg);padding:12px 18px;max-width:80%;word-wrap:break-word;overflow-wrap:break-word}.modern-message.assistant{justify-content:flex-start;gap:12px}.modern-message.assistant .modern-message-inner{background:transparent;border:none;border-radius:var(--modern-radius-xs) var(--modern-radius-lg) var(--modern-radius-lg) var(--modern-radius-lg);padding:4px 0;max-width:90%;word-wrap:break-word;overflow-wrap:break-word}.modern-message+.modern-message{margin-top:2px}.modern-message-avatar{width:28px;height:28px;border-radius:var(--modern-radius-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;background:transparent;color:var(--modern-brand-primary)}.modern-message-content{flex:1;min-width:0;font-size:15px;line-height:1.7;color:var(--modern-text-primary);padding-top:2px}.modern-message-content p{margin:0 0 8px}.modern-message-content p:last-child{margin-bottom:0}.modern-message-content code{background:var(--modern-bg-tertiary);padding:2px 6px;border-radius:6px;font-family:var(--font-geist-mono,"SF Mono","Menlo",monospace);font-size:13px}.modern-message-content pre{background:var(--modern-bg-secondary);border:1px solid var(--modern-border-subtle);border-radius:var(--modern-radius-md);padding:16px;overflow-x:auto;margin:12px 0;position:relative}.modern-message-content pre code{background:transparent;padding:0;font-family:var(--font-geist-mono,"SF Mono","Menlo",monospace)}.modern-input-area{flex-shrink:0;width:100%;max-width:var(--modern-input-max-width);padding:12px 24px 24px;background:transparent;transition:all var(--modern-transition-normal);box-sizing:border-box}.modern-input-wrapper{width:100%;position:relative}.modern-input-container{display:flex;align-items:center;gap:10px;background:var(--modern-surface-input);border:1px solid var(--modern-border-default);border-radius:var(--modern-radius-md);padding:6px 12px;transition:border-color var(--modern-transition-fast);box-shadow:none;position:relative}.modern-input-container:focus-within{border-color:var(--modern-brand-primary)}.modern-input-textarea{flex:1;width:100%;background:transparent;border:none;outline:none;color:var(--modern-text-primary);font-size:14px;line-height:20px;resize:none;max-height:150px;min-height:20px;padding:6px 0;font-family:inherit}.modern-input-textarea::placeholder{color:var(--modern-text-muted)}.modern-input-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--modern-radius-sm);border:none;cursor:pointer;transition:all var(--modern-transition-fast);flex-shrink:0}.modern-input-btn.send{background:var(--modern-brand-primary);color:white;border-radius:50%;width:32px;height:32px;box-shadow:none}.modern-input-btn.send:hover:not(:disabled){background:var(--modern-brand-secondary)}.modern-input-btn.send:active:not(:disabled){transform:scale(.95)}.modern-input-btn.send:disabled{background:var(--modern-bg-tertiary);color:var(--modern-text-muted);cursor:not-allowed;box-shadow:none;opacity:.5}.modern-input-btn.attach{background:transparent;color:var(--modern-text-secondary);width:36px;height:36px}.modern-input-btn.attach:hover{color:var(--modern-brand-primary);background:var(--modern-bg-hover)}.modern-input-actions{display:flex;align-items:center;gap:2px}.modern-typing-indicator{display:flex;gap:5px;padding:8px 0}.modern-typing-dot{width:7px;height:7px;border-radius:50%;background:var(--modern-text-muted);animation:modern-typing-bounce 1.4s ease-in-out infinite}.modern-typing-dot:first-child{animation-delay:0s}.modern-typing-dot:nth-child(2){animation-delay:.2s}.modern-typing-dot:nth-child(3){animation-delay:.4s}@keyframes modern-typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}@keyframes modern-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modern-date-divider{display:flex;align-items:center;gap:12px;padding:16px 12px 6px;color:var(--modern-text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px}.modern-ui ::-webkit-scrollbar{width:6px}.modern-ui ::-webkit-scrollbar-track{background:transparent}.modern-ui ::-webkit-scrollbar-thumb{background:var(--modern-border-default);border-radius:3px}.modern-ui ::-webkit-scrollbar-thumb:hover{background:var(--modern-border-strong)}@media (max-width:768px){.modern-sidebar{width:300px;left:0;top:0;height:100vh;border-radius:0;transform:translateX(-100%);z-index:100;border-right:1px solid var(--modern-border-default)}.modern-sidebar.open{transform:translateX(0)}.modern-chat-container{margin-left:0;width:100vw}.modern-input-area{padding:8px 12px 16px}.modern-input-container{border-radius:var(--modern-radius-md);padding:4px 6px 4px 12px}}.modern-tooltip{position:absolute;background:var(--modern-surface-elevated);color:var(--modern-text-primary);padding:6px 12px;border-radius:var(--modern-radius-sm);font-size:12px;box-shadow:var(--modern-shadow-sm);border:1px solid var(--modern-border-default);pointer-events:none;z-index:50}.modern-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--modern-radius-sm);font-size:13.5px;font-weight:500;cursor:pointer;transition:all var(--modern-transition-fast);border:none}.modern-btn-primary{background:var(--modern-brand-primary);color:white;box-shadow:none}.modern-btn-primary:hover{background:var(--modern-brand-secondary)}.modern-btn-ghost{background:transparent;color:var(--modern-text-secondary)}.modern-btn-ghost:hover{background:var(--modern-bg-hover);color:var(--modern-text-primary)}.modern-btn-icon{width:36px;height:36px;padding:0;border-radius:var(--modern-radius-sm)}.modern-logo{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;color:var(--modern-text-primary);letter-spacing:-.01em}.modern-logo img{width:28px;height:28px;border-radius:var(--modern-radius-xs)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow-pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes border-beam{0%{offset-distance:0}to{offset-distance:100%}}@keyframes meteor-fall{0%{transform:rotate(215deg) translateX(0);opacity:1}70%{opacity:1}to{transform:rotate(215deg) translateX(-500px);opacity:0}}@keyframes pulse-ring{0%{transform:scale(.95);opacity:.4}50%{transform:scale(1.02);opacity:.7}to{transform:scale(.95);opacity:.4}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-shimmer{animation:shimmer 2s linear infinite;background-size:200% 100%}.animate-glow-pulse{animation:glow-pulse 3s ease-in-out infinite}.animate-float{animation:float 4s ease-in-out infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 6s ease infinite}.animate-slide-up-fade{animation:slide-up-fade .5s ease-out forwards}.animate-scale-in{animation:scale-in .3s ease-out forwards}.animate-spin-slow{animation:spin-slow 8s linear infinite}.glow-border{position:relative}.glow-border:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--modern-brand-gradient);opacity:0;transition:opacity var(--modern-transition-normal);z-index:-1;filter:blur(12px)}.glow-border:focus-within:before,.glow-border:hover:before{opacity:.4}.glass-panel{background:var(--modern-surface-elevated);border:1px solid var(--modern-border-subtle);border-radius:var(--modern-radius-md);box-shadow:var(--modern-shadow-sm)}.light .glass-panel{background:#ffffff}.floating-card{background:var(--modern-surface-card);border:1px solid var(--modern-border-subtle);border-radius:var(--modern-radius-md);box-shadow:var(--modern-shadow-xs);transition:background-color var(--modern-transition-fast)}.floating-card:hover{background:var(--modern-surface-elevated);border-color:var(--modern-border-default)}.dot-pattern{background-image:radial-gradient(circle,rgba(108,142,239,.06) 1px,transparent 0);background-size:24px 24px}.grid-pattern{background-image:linear-gradient(rgba(108,142,239,.03) 1px,transparent 0),linear-gradient(90deg,rgba(108,142,239,.03) 1px,transparent 0);background-size:40px 40px}.noise-overlay:after{content:"";position:absolute;inset:0;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;z-index:0}.nav-section-card{background:var(--modern-surface-card);border:1px solid var(--modern-border-default);border-radius:var(--modern-radius-md);padding:6px;margin:4px 12px 8px}.nav-section-card .modern-chat-item{border-radius:var(--modern-radius-xs);padding:8px 10px;gap:8px}.sharepoint-picker-panel{position:absolute;inset:0;z-index:100;display:flex;flex-direction:column;background:var(--modern-bg-primary);border:1px solid var(--modern-border-default);border-radius:var(--modern-radius-lg);overflow:hidden}.sharepoint-picker-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--modern-bg-secondary);border-bottom:1px solid var(--modern-border-subtle);flex-shrink:0}.sharepoint-picker-title{font-size:14px;font-weight:600;color:var(--modern-text-primary)}.sharepoint-picker-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--modern-brand-primary);background:var(--modern-brand-gradient-subtle);padding:2px 8px;border-radius:12px}.sharepoint-picker-body{flex:1;position:relative;min-height:0}.sharepoint-picker-iframe{width:100%;height:100%;border:none;background:transparent;display:block}.sharepoint-picker-error,.sharepoint-picker-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:1;color:var(--modern-text-secondary);font-size:13px}.sharepoint-picker-error{color:#f87171}.sharepoint-picker-files-strip{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;background:var(--modern-bg-secondary);border-bottom:1px solid var(--modern-border-subtle);max-height:80px;overflow-y:auto}.sharepoint-picker-file-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--modern-surface-card);border:1px solid var(--modern-border-subtle);border-radius:14px;font-size:12px;color:var(--modern-text-secondary);max-width:200px}.sharepoint-picker-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.sharepoint-picker-file-remove{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--modern-text-muted);cursor:pointer;padding:0;flex-shrink:0;border-radius:50%;width:16px;height:16px;transition:color .15s}.sharepoint-picker-file-remove:hover{color:#f87171}