:root{--burgundy-900: #33001A;--burgundy-800: #4D0026;--burgundy-700: #59002D;--burgundy: #660033;--burgundy-500: #80334D;--burgundy-400: #994D66;--burgundy-300: #B36680;--burgundy-200: #CC8DA3;--burgundy-100: #E6BCC9;--burgundy-50: #F9ECF0;--panel-accent: var(--burgundy);--panel-bg: var(--burgundy-50);--panel-border: var(--burgundy-100);--white: #FFFFFF;--gray-50: #FAFAFA;--gray-100: #F5F5F5;--gray-200: #EEEEEE;--gray-300: #E0E0E0;--gray-400: #BDBDBD;--gray-500: #9E9E9E;--gray-600: #757575;--gray-700: #424242;--badge-green: #4CAF50;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 10px 30px rgba(0,0,0,.12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--transition: .2s cubic-bezier(.4,0,.2,1);--header-h: 56px;--sidebar-left-w: 260px;--sidebar-right-w: 340px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;font-family:Montserrat,Inter,system-ui,-apple-system,sans-serif;font-size:14px;color:var(--gray-700);background:var(--gray-100);-webkit-font-smoothing:antialiased}button{cursor:pointer;border:none;background:none;font-family:inherit}ul{list-style:none}#login-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;z-index:1000}.login-brand{flex:1;background:url(/bg-hero.webp) center/cover no-repeat;position:relative;display:flex;flex-direction:column;padding:36px 40px}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#660033f7}.login-brand-top,.login-brand-center{position:relative;z-index:1}.login-brand-top{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.login-brand-center{flex:1;display:flex;align-items:center;justify-content:center}.login-logo{height:44px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}.login-brand-tagline{font-family:Montserrat,sans-serif;font-size:8px;font-weight:400;letter-spacing:.8px;text-transform:uppercase;color:var(--white)}.login-brand-claim{font-family:Montserrat,sans-serif;font-size:18px;font-weight:300;line-height:1.7;color:var(--white);text-align:center;letter-spacing:.5px}.login-side{width:440px;background:var(--white);display:flex;align-items:center;justify-content:center;padding:48px}.login-card{width:100%;max-width:300px;text-align:center}.login-title{font-family:Montserrat,sans-serif;font-size:26px;font-weight:300;color:var(--gray-700);margin-bottom:8px}.login-subtitle{font-family:Montserrat,sans-serif;font-size:13px;color:var(--gray-500);line-height:1.5;margin-bottom:28px}.login-divider{width:100%;height:1px;background:var(--gray-200);margin-bottom:28px}.login-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 20px;border-radius:50px;font-family:Montserrat,sans-serif;font-size:13.5px;font-weight:500;color:var(--gray-700);background:var(--white);border:1px solid var(--gray-300);transition:var(--transition);cursor:pointer}.login-btn:hover{border-color:var(--burgundy-200);box-shadow:0 4px 20px #6600331a;transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-google-icon{flex-shrink:0}.login-error{font-family:Montserrat,sans-serif;font-size:12px;color:#c62828;background:#ffebee;border:1px solid #FFCDD2;border-radius:var(--radius-md);padding:10px 14px;margin-bottom:16px;text-align:center;line-height:1.5;display:none}.login-error.visible{display:block}.login-footer{font-family:Montserrat,sans-serif;font-size:11px;color:var(--gray-400);margin-top:36px;text-align:center}@media(max-width:768px){#login-screen{flex-direction:column}.login-brand{flex:none;padding:48px 40px}.login-side{width:100%;flex:1}}#app-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:var(--burgundy);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:100;box-shadow:0 2px 12px #66003359}.header-left{display:flex;align-items:center;gap:12px}.logo-icon{height:32px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}.header-right{display:flex;align-items:center;gap:12px}.user-name{font-size:13px;font-weight:500;opacity:.9}.avatar{width:34px;height:34px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;letter-spacing:.5px;border:1.5px solid rgba(255,255,255,.3);transition:var(--transition)}.avatar:hover{background:#ffffff4d;transform:scale(1.05)}.icon-btn{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--white);opacity:.7;transition:var(--transition)}.icon-btn:hover{background:#ffffff1f;opacity:1}#app-layout{display:grid;grid-template-columns:var(--sidebar-left-w) 1fr var(--sidebar-right-w);height:calc(100vh - var(--header-h));margin-top:var(--header-h)}#sidebar-left{background:var(--white);color:var(--gray-700);display:flex;flex-direction:column;border-right:1px solid var(--burgundy-200)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 14px;font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--burgundy);border-bottom:1px solid var(--gray-200)}.icon-btn-sm{width:26px;height:26px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--burgundy);opacity:.5;transition:var(--transition)}.icon-btn-sm:hover{background:var(--burgundy-50);opacity:1}#chat-history{flex:1;overflow-y:auto;padding:12px 10px 16px}.chat-item{display:flex;flex-direction:column;gap:4px;padding:11px 14px;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);margin-bottom:4px;border:1px solid var(--gray-200);background:var(--white);position:relative}.chat-item:hover{border-color:var(--burgundy-100);box-shadow:0 1px 4px #6600330f}.chat-item.active{border-color:var(--burgundy)}.chat-title{font-size:13px;font-weight:500;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;padding-right:20px}.chat-item.active .chat-title{color:var(--burgundy)}.chat-date{font-size:11px;color:var(--gray-400)}.chat-delete-btn{position:absolute;top:9px;right:10px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--gray-400);opacity:0;transition:var(--transition)}.chat-item:hover .chat-delete-btn{opacity:1}.chat-delete-btn:hover{background:var(--burgundy-50);color:var(--burgundy)}#sidebar-left ::-webkit-scrollbar{width:4px}#sidebar-left ::-webkit-scrollbar-track{background:transparent}#sidebar-left ::-webkit-scrollbar-thumb{background:var(--burgundy-100);border-radius:4px}#chat-area{display:flex;flex-direction:column;background:var(--gray-50);position:relative;min-height:0;overflow:hidden}#chat-messages{flex:1;overflow-y:auto;padding:36px 48px;display:flex;flex-direction:column;gap:24px}.message{display:flex;gap:14px;max-width:70%;animation:fadeInUp .35s ease-out}.message.assistant{align-self:flex-start}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:30px;height:30px;min-width:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0;margin-top:2px}.message.assistant .message-avatar{background:var(--white);border:1px solid var(--gray-200);padding:4px;object-fit:contain;box-shadow:0 1px 3px #0000000f}.message.user .message-avatar{background:var(--burgundy);color:var(--white)}.message-bubble{padding:14px 18px;border-radius:var(--radius-lg);line-height:1.7;font-size:13.5px}.message.assistant .message-bubble{background:var(--white);color:var(--gray-700);border:1px solid var(--gray-200);border-top-left-radius:4px;box-shadow:0 1px 3px #0000000a}.message.assistant .message-bubble p{margin-bottom:10px}.message.assistant .message-bubble p:last-child{margin-bottom:0}.message.assistant .message-bubble strong{color:var(--burgundy);font-weight:600}.message.assistant .message-bubble em{font-style:italic}.message.assistant .message-bubble ul,.message.assistant .message-bubble ol{margin:8px 0 10px 20px}.message.assistant .message-bubble li{margin-bottom:4px}.message.assistant .message-bubble h1,.message.assistant .message-bubble h2,.message.assistant .message-bubble h3{font-size:15px;font-weight:700;color:var(--burgundy);margin:12px 0 6px}.message.assistant .message-bubble h1:first-child,.message.assistant .message-bubble h2:first-child,.message.assistant .message-bubble h3:first-child{margin-top:0}.message.assistant .message-bubble code{background:var(--gray-100);color:var(--burgundy);padding:1px 6px;border-radius:4px;font-size:12px;font-family:Courier New,monospace}.message.assistant .message-bubble pre{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:var(--radius-sm);padding:10px 12px;overflow-x:auto;margin:8px 0}.message.assistant .message-bubble pre code{background:none;padding:0;color:var(--gray-700)}.message.assistant .message-bubble a{color:var(--burgundy);text-decoration:underline}.message.assistant .message-bubble table{border-collapse:collapse;margin:8px 0;font-size:12.5px}.message.assistant .message-bubble th,.message.assistant .message-bubble td{border:1px solid var(--gray-200);padding:6px 10px;text-align:left}.message.assistant .message-bubble th{background:var(--burgundy-50);color:var(--burgundy);font-weight:600}.message.user .message-bubble{background:var(--burgundy);color:var(--white);border-top-right-radius:4px;box-shadow:0 1px 4px #6033}#input-bar{padding:16px 48px 20px;background:var(--white);border-top:1px solid var(--gray-200)}.input-wrapper{display:flex;align-items:flex-end;gap:10px;background:var(--gray-50);border:1px solid var(--gray-300);border-radius:50px;padding:6px 6px 6px 20px;transition:var(--transition)}.input-wrapper:focus-within{border-color:var(--burgundy-200);box-shadow:0 0 0 3px #6600330d;background:var(--white)}#message-input{flex:1;border:none;background:transparent;font-family:inherit;font-size:14px;line-height:1.5;color:var(--gray-700);resize:none;max-height:140px;padding:6px 0;outline:none}#message-input::placeholder{color:var(--gray-400)}.input-actions{display:flex;gap:6px;flex-shrink:0}.btn-docs{display:flex;align-items:center;gap:5px;padding:9px 16px;border-radius:50px;font-size:12px;font-weight:500;color:var(--burgundy);background:transparent;border:1px solid var(--burgundy-100);transition:var(--transition)}.btn-docs:hover{background:var(--burgundy-50);border-color:var(--burgundy-200)}.btn-send{width:36px;height:36px;border-radius:50%;background:var(--burgundy);color:var(--white);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.btn-send:hover{background:var(--burgundy-500);transform:scale(1.05)}.btn-send:active{transform:scale(.95)}#sidebar-right{background:var(--white);border-left:1px solid var(--burgundy-200);overflow-y:auto;min-height:0;padding:16px 14px;display:flex;flex-direction:column;gap:16px}.panel{border-radius:var(--radius-md);overflow:visible;border:1px solid var(--gray-200);background:var(--white);transition:var(--transition)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--gray-200)}.panel-title{font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--burgundy)}.panel-count{font-size:10px;font-weight:600;color:var(--burgundy-300)}.panel-actions{display:flex;gap:10px;align-items:center}.panel-toggle{color:var(--burgundy-200);display:flex;align-items:center;transition:var(--transition)}.panel-toggle:hover{color:var(--burgundy)}.panel.collapsed .panel-toggle svg{transform:rotate(-90deg)}.panel-body{padding:4px 0;overflow:visible}.panel.collapsed .panel-body{max-height:0!important;overflow:hidden;opacity:0;padding:0;transition:max-height .3s ease,opacity .2s ease,padding .3s ease}.panel-body{max-height:none;opacity:1}.panel-item{overflow:hidden;transition:var(--transition)}.item-row{display:flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer;transition:var(--transition);border-left:2px solid transparent}.item-row:hover{background:var(--gray-50);border-left-color:var(--burgundy)}.item-badge{width:20px;height:20px;min-width:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--burgundy);color:var(--white);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;border:none}.item-badge svg{width:11px;height:11px;transition:opacity .2s ease,transform .2s ease}.item-badge:hover{transform:scale(1.15);box-shadow:0 2px 8px #6600334d}.item-badge:active{transform:scale(.9)}.item-badge.deselected{background:transparent;border:1.5px solid var(--gray-300);color:var(--gray-300)}.item-badge.deselected svg{opacity:0;transform:scale(.5)}.item-badge.deselected:hover{border-color:var(--burgundy-200);box-shadow:0 2px 8px #6600331a}.item-label{font-size:13px;font-weight:400;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--gray-700)}.item-meta{font-size:11px;color:var(--burgundy-300);flex-shrink:0;font-weight:500}.item-expand-btn{font-size:11px;font-weight:500;padding:0;flex-shrink:0;color:var(--burgundy-300);background:none;transition:var(--transition)}.item-expand-btn:hover{color:var(--burgundy)}.item-details{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 16px 0 48px}.panel-item.expanded .item-details{max-height:1000px;padding:2px 16px 8px 48px}.doc-row{display:flex;align-items:center;padding:5px 0;font-size:12px;color:var(--gray-500);cursor:pointer;transition:var(--transition)}.doc-row:hover{color:var(--burgundy)}.doc-row:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--burgundy-200);margin-right:8px;flex-shrink:0}.doc-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}#sidebar-right::-webkit-scrollbar{width:5px}#sidebar-right::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:5px}@media(max-width:1100px){:root{--sidebar-right-w: 280px}}@media(max-width:900px){#app-layout{grid-template-columns:1fr}#sidebar-left,#sidebar-right{display:none}}
