:root{--primary-contrast:#0b151e;--secondary-contrast:#0b151e99;--background-gradient:linear-gradient(90deg,#ffca28,#f57c00);--background:#ffca28;--muted:rgba(194,137,3,.3);--surface:#e99e1d;--border:transparent;--top-gradient:#ffffff33;--button:#0b151e}.dark-theme{--primary-contrast:#1a3a52;--secondary-contrast:#1a3a5299;--background-gradient:linear-gradient(135deg,#e8f5e9,#e3f2fd 50%,#e1f5fe);--background:#f0f9ff;--muted:rgba(144,202,249,.3);--surface:#fff;--border:rgba(144,202,249,.3);--top-gradient:rgba(144,202,249,.2);--button:linear-gradient(135deg,#4caf50,#2196f3)}*{margin:0;font-family:Google Sans}html{background:var(--background)}body{color:var(--primary-contrast);background:var(--background-gradient);min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;overflow-x:hidden}.top-gradient{position:absolute;top:0;left:0;width:100%;height:25vh;background:linear-gradient(180deg,transparent 0,var(--top-gradient) 50%);-webkit-clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 10vw));clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 10vw))}.bottom-gradient{position:fixed;bottom:0;width:90%;height:900px;margin-bottom:-550px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;--top:transparent;--bottom:transparent;--first:conic-gradient(from 90deg at 0% 50%,var(--top),var(--bottom));--second:conic-gradient(from 270deg at 100% 50%,var(--bottom),var(--top));-webkit-mask-image:radial-gradient(closest-side at 50% 50%,var(--background),transparent);mask-image:radial-gradient(closest-side at 50% 50%,var(--background),transparent);background-image:var(--first),var(--second);background-position-x:0,100%;background-position-y:100%,0;background-repeat:no-repeat;opacity:.4;transform:translateY(-200px) rotate(180deg) translateZ(0);transform-origin:center center}.header{position:absolute;top:4vh;display:flex;justify-content:center;align-items:center;z-index:10;width:100%;pointer-events:none}.header *{pointer-events:auto}.navbar{position:fixed;top:20px;left:20px;z-index:100;display:flex;align-items:center;justify-content:flex-start;pointer-events:none}.navbar *{pointer-events:auto}.navbar-icon{width:80px;height:80px;object-fit:contain;border-radius:8px;cursor:pointer;transition:transform .2s;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));background:#000;opacity:.7}.navbar-icon:hover{transform:scale(1.1)}.header svg{padding:16px 25px}.header .logo{height:auto;width:auto;max-width:150px;max-height:150px;object-fit:contain;border-radius:12px}.homepage-logo{display:flex;justify-content:center;align-items:center;margin-bottom:20px;margin-top:0;width:100%;flex-shrink:0}.logo-main{height:auto;width:auto;max-width:400px;max-height:400px;object-fit:contain;border-radius:20px}.content.homepage{justify-content:flex-start;min-height:calc(100vh - 80px);padding-top:60px;padding-bottom:200px;gap:32px}.content.chat-view{display:flex;flex-direction:column;height:100vh;padding:0;overflow:visible;position:relative;margin-left:300px;width:calc(100% - 300px);transition:margin-left .3s ease,width .3s ease}.app-layout.sidebar-collapsed .content.chat-view{margin-left:0;width:100%}.app-layout.chat-mode .content.chat-view{padding-bottom:0}.heading{font-size:48px;font-weight:500;letter-spacing:-2%;text-align:center;margin:0;flex-shrink:0}.regenerate-button{color:var(--background);background:var(--button)}.back-button{position:fixed;top:32px;left:32px;color:var(--primary-contrast);background-color:var(--surface);display:flex;align-items:center;gap:6px;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.button{font-size:15px;line-height:1.3;font-weight:500;padding:11px 16px;border-radius:100px;border:none;cursor:pointer;transition:scale .2s,filter .2s}.button:hover{filter:brightness(1.1)}.button:active{scale:.97}.content{margin:0 12px;padding:40px 12px;justify-content:flex-start;gap:40px;position:relative;z-index:1;width:100%;max-width:1400px;box-sizing:border-box}.content,.content header{display:flex;flex-direction:column;align-items:center}.content header{gap:32px}.content header h2{font-size:20px;font-weight:400}.data-container,.features{display:grid;grid-gap:10px;gap:10px}.features{text-wrap:balance}.data-container,.features{grid-template-columns:repeat(2,1fr)}.data-container{text-wrap:pretty}.card{flex-direction:column;padding:24px;gap:12px;max-width:360px}.card h2{font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-2%}.card p{font-size:13px;line-height:1.5;color:var(--secondary-contrast);letter-spacing:-1%}.card p a,.link{color:var(--primary-contrast);text-decoration:underline;text-underline-offset:2px}.links-container{padding-top:24px;gap:24px}.links,.links-container{display:flex;flex-wrap:wrap}.links{gap:10px}.links a{padding:14px 15px;color:var(--primary-contrast);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;justify-content:center;align-items:center;gap:4px}.card,.links a{position:relative;border-radius:24px;background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;box-shadow:0 2px 8px rgba(0,0,0,.08)}.card:before,.links a:before{content:"";position:absolute;inset:0;border-radius:24px;padding:1px;background:linear-gradient(var(--border),transparent 30%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card:not(:first-child):after,.links a:not(:first-child):after{content:"";top:0;height:100%;background:var(--surface);position:absolute;pointer-events:none}.card:not(:first-child):after{width:10px;left:-10px;mask:url(/between-cards.svg) no-repeat center/contain;-webkit-mask:url(/between-cards.svg) no-repeat center/contain}.links a:not(:first-child):after{width:30px;left:calc(-20px);mask:url(/between-links.svg) no-repeat center/contain;-webkit-mask:url(/between-links.svg) no-repeat center/contain}.document-selector,.document-upload{width:100%;max-width:500px;padding:24px;background:var(--surface);border-radius:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(0,0,0,.1);border:1px solid var(--border)}.document-selector h2,.document-upload h2{font-size:24px;font-weight:500;margin-bottom:20px;color:var(--primary-contrast)}.selector-form,.upload-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--primary-contrast)}.form-group input[type=file],.form-group select{padding:12px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--primary-contrast);font-size:14px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.05)}.form-group input[type=file]:disabled,.form-group select:disabled{opacity:.5;cursor:not-allowed}.selector-empty,.selector-error,.selector-loading{padding:20px;text-align:center;font-size:14px;color:var(--secondary-contrast);border-radius:8px;background:var(--muted)}.selector-error{color:var(--error-color);background:rgba(239,68,68,.1)}.retry-button{margin-top:12px;padding:10px 20px;background:var(--button);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.retry-button:hover{filter:brightness(1.1)}.document-select{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--primary-contrast);font-size:14px;font-family:inherit;cursor:pointer;transition:all .2s}.document-select:focus{outline:none;border-color:var(--button);box-shadow:0 0 0 3px rgba(33,150,243,.1)}.select-button{width:100%;padding:12px 16px;background:var(--button);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-top:16px}.select-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.select-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-progress,.upload-status{padding:12px}.current-document,.upload-progress,.upload-status{background:var(--muted);border-radius:12px;font-size:14px;color:var(--primary-contrast)}.current-document{margin-top:16px;padding:16px}.current-document p{margin:4px 0}.markdown-content{line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:16px;margin-bottom:8px;font-weight:600;color:var(--primary-contrast)}.markdown-content h1{font-size:24px;border-bottom:2px solid var(--border);padding-bottom:8px}.markdown-content h2{font-size:20px;border-bottom:1px solid var(--border);padding-bottom:6px}.markdown-content h3{font-size:18px}.markdown-content h4{font-size:16px}.markdown-content p{margin:8px 0;line-height:1.6}.markdown-content ol,.markdown-content ul{margin:8px 0;padding-left:24px}.markdown-content li{margin:4px 0;line-height:1.5}.markdown-content code{background:var(--muted);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:13px;color:var(--primary-contrast)}.markdown-content pre{background:var(--muted);padding:12px;border-radius:8px;overflow-x:auto;margin:12px 0;border:1px solid var(--border)}.markdown-content pre code{background:transparent;padding:0;font-size:13px}.markdown-content blockquote{border-left:4px solid var(--button);padding-left:16px;margin:12px 0;color:var(--secondary-contrast);font-style:italic}.markdown-content table{width:100%;border-collapse:collapse;margin:12px 0}.markdown-content td,.markdown-content th{border:1px solid var(--border);padding:8px 12px;text-align:left}.markdown-content th{background:var(--muted);font-weight:600}.markdown-content a{color:var(--button);text-decoration:underline;text-underline-offset:2px}.markdown-content a:hover{opacity:.8}.markdown-content strong{font-weight:600;color:var(--primary-contrast)}.markdown-content em{font-style:italic}.markdown-content hr{border:none;border-top:1px solid var(--border);margin:16px 0}.document-prompt{position:fixed;bottom:calc(50% + 60px);left:300px;right:0;display:flex;justify-content:center;z-index:99;padding:0 16px;pointer-events:none;transform:translateY(50%);transition:left .3s ease,right .3s ease,bottom .3s ease,transform .3s ease}.document-prompt-content{display:flex;align-items:center;gap:12px;padding:12px 20px;background:hsla(0,0%,100%,.95);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);color:var(--primary-contrast);font-size:14px;font-weight:500;pointer-events:auto;animation:fadeInUp .4s ease}.document-prompt-icon{color:var(--button);flex-shrink:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-layout.sidebar-collapsed .document-prompt{left:0;right:0}.app-layout.homepage-mode .document-prompt{bottom:100px;transform:none}.suggestions-above-input{position:fixed;bottom:calc(50% + 180px);left:300px;right:0;display:flex;justify-content:center;z-index:99;padding:0 16px;pointer-events:none;transform:translateY(0);transition:left .3s ease,right .3s ease,bottom .3s ease}.app-layout.sidebar-collapsed .suggestions-above-input{left:0;right:0}.app-layout.homepage-mode .suggestions-above-input{bottom:120px;transform:none}.suggested-questions-flat{max-width:800px;width:100%;pointer-events:auto}.suggested-questions-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.suggested-question-chip{padding:8px 16px;background:#fff;border:1px solid var(--border);border-radius:20px;font-size:14px;color:var(--primary-contrast);cursor:pointer;transition:all .2s;white-space:nowrap;font-family:inherit}.suggested-question-chip:hover{background:var(--muted);border-color:var(--button)}.suggested-question-chip:active{transform:scale(.98)}.document-selector-dropdown-wrapper{position:relative;width:100%;max-width:800px}.document-selector-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);max-height:400px;overflow-y:auto;z-index:101}.document-selector-list{display:flex;flex-direction:column}.document-selector-item{padding:12px 16px;border:none;background:transparent;text-align:left;cursor:pointer;font-size:14px;color:var(--primary-contrast);transition:background .2s;border-bottom:1px solid var(--border)}.document-selector-item:last-child{border-bottom:none}.document-selector-item:hover{background:var(--muted)}.document-selector-item.selected{background:var(--muted);color:var(--button);font-weight:500}.document-selector-empty,.document-selector-error,.document-selector-loading{padding:16px;text-align:center;color:var(--secondary-contrast);font-size:14px}.document-selector-retry{margin-top:8px;padding:6px 12px;background:var(--button);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.document-selector-retry:hover{opacity:.9}@media only screen and (max-width:768px){.suggested-questions-list{justify-content:flex-start}.suggestions-above-input{bottom:calc(50% + 160px);transform:translateY(0);left:0;right:0}.document-prompt{bottom:calc(50% + 40px);transform:translateY(50%);left:0;right:0}.app-layout.homepage-mode .document-prompt{bottom:80px;transform:none}.chat-feedback-container,.input-area-fixed{left:0;right:0}.content.chat-view{margin-left:0;width:100%}.messages-container{padding:0 16px 250px}.messages-container.no-messages{padding-bottom:0}.messages{padding:20px 0;gap:20px}.message.user{max-width:75%}.message.assistant{max-width:95%}.input-area-fixed{padding:4px;gap:4px}.input-area-fixed.input-centered{padding:6px;bottom:0;transform:none;border-top:1px solid var(--border);background:var(--background)}.input-wrapper{padding:0 6px;border-radius:18px}.chat-input{max-height:48px;padding:2px;font-size:15px;line-height:1.2}.chat-feedback-container{bottom:100px}}.chat-interface{width:100%;height:100%;display:flex;flex-direction:column;background:transparent;flex:1 1;min-width:0;overflow:hidden;position:relative}.app-layout.homepage-mode .chat-interface{display:none}.messages-container{flex:1 1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;width:100%;max-width:100%;margin:0 auto;padding:0 24px 250px;transition:margin-left .3s ease,max-width .3s ease,padding .3s ease;min-width:0;box-sizing:border-box;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;position:relative;z-index:1;margin-left:0}.app-layout.sidebar-collapsed .messages-container{margin-left:0}.messages-container.no-messages{padding-bottom:0;height:100vh;justify-content:center}.empty-state{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--secondary-contrast);font-size:15px;padding:40px 20px;margin-bottom:200px}.messages{gap:28px;padding:32px 0}.message,.messages{display:flex;flex-direction:column;width:100%;max-width:100%}.message{animation:fadeIn .3s ease-in}.message.user{align-self:flex-end;align-items:flex-end;max-width:60%;margin-left:auto}.message.assistant{align-items:flex-start;max-width:85%;margin-right:auto}.message.assistant,.message.assistant .message-feedback{align-self:flex-start}.message-content{padding:14px 18px;border-radius:8px;font-size:15px;line-height:1.6;word-wrap:break-word;width:100%;box-sizing:border-box}.message.user .message-content{background:var(--button);color:#fff;width:-moz-fit-content;width:fit-content;max-width:100%;margin-left:auto}.message.assistant .message-content{background:transparent;color:var(--primary-contrast);border:none}.message.loading .message-content{background:transparent;color:var(--secondary-contrast);border:none}.message-feedback{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:0;margin-left:0;margin-right:0}.feedback-buttons-inline{display:flex;gap:4px;align-items:center}.feedback-button-inline{background:transparent;border:1px solid var(--border);border-radius:16px;padding:4px 12px;font-size:16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-width:36px;height:32px}.feedback-button-inline.active,.feedback-button-inline:hover:not(:disabled){background:var(--muted);border-color:var(--button)}.feedback-button-inline:disabled{opacity:.5;cursor:not-allowed}.feedback-thanks{font-size:13px;color:var(--secondary-contrast);font-style:italic}.typing-indicator{display:inline-block}.typing-indicator:after{content:"...";animation:dots 1.5s steps(4) infinite}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-area-fixed{position:fixed;left:0;background:var(--background);padding:16px;z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center;transition:bottom .3s ease,left .3s ease,right .3s ease;box-shadow:0 -2px 10px rgba(0,0,0,.05);left:300px;right:0}.app-layout.sidebar-collapsed .input-area-fixed{left:0;right:0}.input-area-fixed.input-bottom{bottom:0;border-top:1px solid var(--border)}.input-area-fixed.input-centered{bottom:50%;transform:translateY(50%);border:none;background:transparent}.app-layout.homepage-mode .input-area-fixed.input-centered{bottom:0;transform:none;border-top:1px solid var(--border);background:var(--background)}.document-chip{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--muted);border:1px solid var(--border);border-radius:16px;font-size:13px;color:var(--primary-contrast);max-width:800px;width:100%}.document-chip-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-chip-close{background:none;border:none;color:var(--secondary-contrast);cursor:pointer;font-size:18px;line-height:1;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.document-chip-close:hover{background:rgba(0,0,0,.1)}.input-wrapper{display:flex;align-items:flex-end;gap:8px;max-width:800px;width:100%;background:#fff;border:1px solid var(--border);border-radius:24px;padding:8px 12px;box-shadow:0 1px 2px rgba(0,0,0,.05);position:relative;transition:border-color .3s ease,box-shadow .3s ease}.input-wrapper.no-document{border:2px dashed var(--button);cursor:pointer}.input-wrapper.no-document:hover{border-color:var(--button);box-shadow:0 2px 8px rgba(11,21,30,.1)}.document-selector-button{background:none;border:none;color:var(--button);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s,transform .2s;flex-shrink:0}.document-selector-button:hover{background:var(--muted);transform:scale(1.1)}.document-selector-button.pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.chat-input{flex:1 1;padding:10px 8px;border:none;background:transparent;color:var(--primary-contrast);font-size:15px;outline:none;resize:none;max-height:200px;font-family:inherit;line-height:1.5}@media only screen and (max-width:768px){.input-area-fixed{padding:4px;gap:4px}.input-area-fixed.input-centered{padding:6px;bottom:0;transform:none;border-top:1px solid var(--border);background:var(--background)}.input-wrapper{padding:0 6px;border-radius:18px}.chat-input{height:32px;min-height:32px;max-height:48px;padding:2px;font-size:15px;line-height:1.2}}.chat-input::placeholder{color:var(--secondary-contrast)}.input-wrapper.no-document .chat-input::placeholder{color:var(--button);font-weight:500;opacity:.8}.chat-input:disabled,.chat-input[readonly]{opacity:.6}.chat-input.disabled-clickable{cursor:pointer}.chat-input.disabled-clickable:hover{opacity:.8}.send-button{padding:8px;border:none;background:var(--button);color:#fff;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0;width:36px;height:36px}.send-button:hover:not(:disabled){background:var(--button);opacity:.9}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{opacity:.4}.send-button.disabled-clickable{cursor:pointer;opacity:.6}.send-button.disabled-clickable:hover{opacity:.8}.app-container{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px;width:100%;max-width:1400px;margin-top:0;flex-shrink:0}.chat-section,.document-section{display:flex;flex-direction:column;gap:16px}.chat-section h2{font-size:24px;font-weight:500;color:var(--primary-contrast);margin-bottom:8px}.subtitle{font-size:16px;color:var(--secondary-contrast);text-align:center;margin:0 0 24px;flex-shrink:0}@media only screen and (max-width:1023px){.heading{font-size:36px}.back-button{top:10px;left:10px}.data-container,.features{grid-template-columns:1fr}.card:after,.links a:after,.top-gradient{display:none}.bottom-gradient{width:150%;height:400px;margin-bottom:-450px}.app-container{grid-template-columns:1fr;gap:24px}.chat-interface{height:100%;flex:1 1}.messages-container{max-width:100%;padding:0 16px 250px}.message-content{padding:12px 16px}.message-feedback{margin-top:10px}.message.assistant,.message.user{max-width:95%}.header .logo{max-width:120px;max-height:120px}.logo-main{max-width:300px;max-height:300px}.homepage-logo{margin-bottom:24px;margin-top:0}.content.homepage{padding-top:40px;padding-bottom:40px;gap:24px;min-height:auto}.content{padding:20px 12px;gap:24px;margin-top:0}.homepage-logo{margin-bottom:20px}.heading{font-size:28px}.subtitle{font-size:14px;margin-bottom:16px}.header{top:2vh}.navbar{top:10px;left:10px}.navbar-icon{width:64px;height:64px}.chat-sidebar{width:280px}.content.homepage{margin-left:280px;width:calc(100% - 280px)}.sidebar-toggle{left:300px;top:15px}.app-layout.sidebar-collapsed .sidebar-toggle{left:15px}@media only screen and (max-width:768px){.chat-sidebar{width:100%;max-width:280px}.chat-sidebar.collapsed{transform:translateX(-100%)}.app-layout.sidebar-collapsed .content.homepage,.content.homepage{margin-left:0;width:100%}.sidebar-toggle{left:15px;top:15px}.chat-history-card{padding:10px}.chat-card-title{font-size:13px}.chat-card-preview{font-size:11px}}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background:var(--background-gradient)}.login-card{width:100%;min-width:420px;background:var(--surface);border-radius:24px;padding:40px;box-shadow:0 8px 32px rgba(0,0,0,.1);border:1px solid var(--border);box-sizing:border-box}.login-header{text-align:center;margin-bottom:32px}.login-logo{margin:0 auto 20px;border-radius:16px}.login-header h1{font-size:28px;font-weight:600;color:var(--primary-contrast);margin-bottom:8px}.login-header p{font-size:14px;color:var(--secondary-contrast)}.error-message{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px;border:1px solid #ef5350}.login-form{margin-bottom:24px}.login-form .form-group{margin-bottom:20px}.login-form .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--primary-contrast)}.login-form .form-group input{width:100%;padding:12px 16px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--primary-contrast);font-size:14px;box-sizing:border-box;transition:border-color .2s}.login-form .form-group input:focus{outline:none;border-color:var(--button)}.login-form .form-group input:disabled{opacity:.6;cursor:not-allowed}.login-button{width:100%;padding:14px 20px;border-radius:12px;border:none;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px}.login-button.primary{background:var(--button);color:#fff}.login-button.primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media only screen and (max-width:480px){.login-container{padding:16px}.login-card{min-width:0;max-width:100%;padding:24px;border-radius:16px}}.app-layout{display:flex;width:100%;min-height:100vh}.sidebar-toggle{position:fixed;left:320px;top:20px;z-index:101;width:40px;height:40px;border-radius:8px;background:var(--surface);border:1px solid var(--border);color:var(--primary-contrast);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.sidebar-toggle:hover{background:var(--muted);transform:scale(1.05)}.app-layout.sidebar-collapsed .sidebar-toggle{left:20px}.chat-sidebar{position:fixed;left:0;top:0;width:300px;height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100;overflow-y:auto;box-shadow:2px 0 8px rgba(0,0,0,.05);transition:transform .3s ease}.chat-sidebar.collapsed{transform:translateX(-100%)}.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.1);border:none;padding:0;margin:0;z-index:90;cursor:pointer}.sidebar-header{padding:20px;border-bottom:1px solid var(--border);flex-shrink:0;flex-direction:column;gap:16px}.sidebar-header,.sidebar-icon{display:flex;align-items:center}.sidebar-icon{justify-content:center;width:100%}.sidebar-icon-image{width:60px;height:60px;object-fit:contain;border-radius:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));background:rgba(0,0,0,.7);opacity:.7;padding:4px}.new-chat-button{width:100%;padding:12px 16px;background:var(--button);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.new-chat-button:hover{filter:brightness(1.1);transform:translateY(-1px)}.sidebar-content{flex:1 1;overflow-y:auto;padding:16px}.sidebar-empty,.sidebar-loading{text-align:center;padding:40px 20px;color:var(--secondary-contrast);font-size:14px}.sidebar-empty p{margin:8px 0}.reports-accordion{margin-bottom:20px;border:1px solid var(--border);border-radius:12px;background:var(--background);overflow:hidden}.reports-accordion-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;transition:background .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.reports-accordion-header:hover{background:var(--muted)}.reports-accordion-title{font-weight:600;font-size:14px;color:var(--primary-contrast)}.reports-accordion-icon{font-size:12px;color:var(--secondary-contrast);transition:transform .2s}.reports-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.reports-accordion-content.expanded{max-height:500px;overflow-y:auto}.reports-empty,.reports-error,.reports-loading{padding:16px;text-align:center;font-size:13px;color:var(--secondary-contrast)}.reports-error{color:var(--error-color)}.reports-list{display:flex;flex-direction:column;padding:8px;gap:4px}.report-item{padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .2s;background:var(--surface);border:1px solid transparent}.report-item:hover{background:var(--muted);border-color:var(--border);transform:translateX(2px)}.report-name{font-size:13px;color:var(--primary-contrast);display:block;word-break:break-word}.chat-history-list{display:flex;flex-direction:column;gap:8px}.chat-history-card{background:var(--background);border:1px solid var(--border);border-radius:12px;padding:12px;cursor:pointer;transition:all .2s;position:relative;display:flex;justify-content:space-between;align-items:flex-start}.chat-history-card:hover{background:var(--muted);transform:translateX(2px)}.chat-history-card.active{background:var(--muted);border-color:var(--button);box-shadow:0 2px 8px rgba(0,0,0,.1)}.chat-card-content{flex:1 1;min-width:0}.chat-card-title{font-size:14px;font-weight:500;color:var(--primary-contrast);white-space:nowrap}.chat-card-preview,.chat-card-title{margin:0 0 4px;overflow:hidden;text-overflow:ellipsis}.chat-card-preview{font-size:12px;color:var(--secondary-contrast);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.chat-card-time{font-size:11px;color:var(--secondary-contrast);opacity:.7}.chat-card-delete{background:none;border:none;color:var(--secondary-contrast);font-size:20px;cursor:pointer;padding:4px 8px;line-height:1;opacity:.6;transition:all .2s;flex-shrink:0}.chat-card-delete:hover{opacity:1;color:#c62828;transform:scale(1.2)}.sidebar-footer{border-top:1px solid var(--border);padding:16px;flex-shrink:0;background:var(--background);max-height:40vh;overflow-y:auto}.disclaimer{margin-bottom:16px}.disclaimer-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:8px 0;background:none;border:none;cursor:pointer;transition:all .2s;border-radius:4px}.disclaimer-toggle:hover{background:var(--muted);padding-left:4px;padding-right:4px}.disclaimer-title{font-size:12px;font-weight:600;color:var(--primary-contrast);text-align:left}.disclaimer-icon{font-size:10px;color:var(--secondary-contrast);transition:transform .2s;flex-shrink:0}.disclaimer-content{font-size:11px;color:var(--secondary-contrast);line-height:1.5;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);animation:fadeIn .2s ease-in}.disclaimer-content section{margin-bottom:12px}.disclaimer-content section:last-child{margin-bottom:0}.disclaimer-content h4{font-size:11px;font-weight:600;color:var(--primary-contrast);margin:0 0 6px;text-transform:uppercase;letter-spacing:.5px}.disclaimer-content p{margin:0;font-size:10px;line-height:1.4}.user-profile{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.user-info{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:8px;border-radius:8px;background:var(--muted);transition:background .2s}.user-info:hover{background:rgba(144,202,249,.2)}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4caf50,#2196f3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.1)}.user-details{flex:1 1;min-width:0}.user-name{font-size:13px;font-weight:600;color:var(--primary-contrast);margin:0 0 2px}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{font-size:11px;color:var(--secondary-contrast);margin:0}.sign-out-button{width:100%;padding:10px 16px;background:transparent;color:var(--primary-contrast);border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.sign-out-button:hover{background:rgba(239,68,68,.1);border-color:var(--error-color);color:var(--error-color);transform:translateY(-1px)}.sign-out-button:active{transform:translateY(0)}.chat-feedback-container{position:fixed;bottom:120px;left:300px;right:0;display:flex;justify-content:center;padding:0 16px;z-index:101;pointer-events:none;transition:left .3s ease,right .3s ease}.app-layout.sidebar-collapsed .chat-feedback-container{left:0;right:0}.chat-feedback-container>*{pointer-events:auto;max-width:800px;width:100%}.chat-feedback{margin-top:0;padding:16px;background:#fff;border-radius:12px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.1);opacity:1;visibility:visible}.chat-feedback.submitted{text-align:center;color:var(--primary-contrast);font-size:14px}.feedback-header{margin-bottom:12px}.feedback-header p{margin:0;font-size:15px;font-weight:600;color:#1a3a52}.feedback-buttons{display:flex;gap:8px;margin-bottom:12px}.feedback-button{flex:1 1;padding:10px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--primary-contrast);font-size:13px;cursor:pointer;transition:all .2s}.feedback-button:hover:not(:disabled){background:var(--muted)}.feedback-button.active{background:var(--button);color:#fff;border-color:var(--button)}.feedback-button:disabled{opacity:.5;cursor:not-allowed}.feedback-comment{margin-top:12px}.feedback-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--primary-contrast);font-size:13px;font-family:inherit;resize:vertical;margin-bottom:12px;box-sizing:border-box}.feedback-textarea:focus{outline:none;border-color:var(--button)}.feedback-textarea:disabled{opacity:.6;cursor:not-allowed}.feedback-actions{display:flex;gap:8px}.cancel-feedback-button,.submit-feedback-button{flex:1 1;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.submit-feedback-button{background:var(--button);color:#fff;border:none}.submit-feedback-button:hover:not(:disabled){filter:brightness(1.1)}.cancel-feedback-button{background:transparent;color:var(--primary-contrast);border:1px solid var(--border)}.cancel-feedback-button:hover:not(:disabled){background:var(--muted)}.cancel-feedback-button:disabled,.submit-feedback-button:disabled{opacity:.5;cursor:not-allowed}.content.homepage{margin-left:300px;width:calc(100% - 300px);transition:margin-left .3s ease,width .3s ease}.app-layout.sidebar-collapsed .content.homepage{margin-left:0;width:100%}.loading-container{min-height:100vh;background:var(--background-gradient)}.loading-container,.loading-spinner{display:flex;justify-content:center;align-items:center}.loading-spinner{padding:20px}.spinner-image{width:64px;height:64px;animation:spinner-rotate 1s linear infinite;display:block}.spinner-image--lg{width:196px;height:196px}.spinner-image--sm{width:36px;height:36px}.spinner-image--xs{width:28px;height:28px}.loading-spinner-inline{display:inline-flex;align-items:center}@keyframes spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}