@property --rotation{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@property --gradient_rotate{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.chat-layout{display:flex;height:100%;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #00000026,0 0 1px #0000001a;position:relative;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.28)}.chat-sidebar{width:280px;min-width:280px;background:linear-gradient(180deg,#eef2ff7a,#e0e7ff7a,#ede9fe7a);display:flex;flex-direction:column;border-right:1px solid rgba(199,210,254,.45)}.sidebar-header{display:flex;align-items:center;gap:8px;padding:16px;border-bottom:1px solid #c7d2fe}.new-chat-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;position:relative;overflow:hidden;background:transparent;border:1px solid rgba(255,255,255,.22);border-radius:16px;color:#14191ee6;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 6px 16px #060a0c2e}.new-chat-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #060a0c38}.new-chat-glass-filter,.new-chat-glass-overlay,.new-chat-glass-specular{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.new-chat-glass-filter{z-index:0;backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%)}.new-chat-glass-overlay{z-index:1;background:#ffffff2e}.new-chat-glass-specular{z-index:2;box-shadow:inset 1px 1px #fff9,inset 0 0 6px #ffffff59}.new-chat-content{position:relative;z-index:3;display:inline-flex;align-items:center;gap:8px}.sidebar-close-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid #a5b4fc;border-radius:10px;color:#6366f1;cursor:pointer;transition:all .2s ease}.sidebar-close-btn:hover{background:#e0e7ff;color:#4f46e5}.sidebar-list{flex:1;overflow-y:auto;padding:8px}.sidebar-list::-webkit-scrollbar{width:6px}.sidebar-list::-webkit-scrollbar-track{background:#fff3;border-radius:6px}.sidebar-list::-webkit-scrollbar-thumb{background:#14191e59;border-radius:6px;border:1px solid rgba(255,255,255,.3)}.sidebar-list::-webkit-scrollbar-thumb:hover{background:#14191e80}body[data-theme=dark] .sidebar-list::-webkit-scrollbar-track{background:#ffffff14}body[data-theme=dark] .sidebar-list::-webkit-scrollbar-thumb{background:#ebf2f840;border:1px solid rgba(255,255,255,.15)}body[data-theme=dark] .sidebar-list::-webkit-scrollbar-thumb:hover{background:#ebf2f866}.sidebar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#8b8fa3;gap:12px}.sidebar-empty p{margin:0;font-size:14px}.sidebar-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease;margin-bottom:2px;position:relative;overflow:hidden;border:1px solid transparent;background:transparent;box-shadow:none}.sidebar-item:hover{transform:translateY(-1px);box-shadow:0 8px 16px #060a0c2e;border-color:#ffffff38;border-radius:16px}.sidebar-item.active{background:#0000001f;border-color:transparent}.sidebar-item:before,.sidebar-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.sidebar-item:before{z-index:0;backdrop-filter:blur(4px) saturate(115%);-webkit-backdrop-filter:blur(4px) saturate(115%)}.sidebar-item:after{z-index:1;background:#ffffff1f;box-shadow:inset 1px 1px #fff6,inset 0 0 4px #ffffff38}.sidebar-item-content{flex:1;min-width:0;position:relative;z-index:2}.sidebar-item-title{font-size:13px;color:#14191ee6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.sidebar-item-meta{font-size:11px;color:#1e2328a6;margin-top:2px;position:relative;z-index:2}.sidebar-item-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:#14191ea6;cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0;position:relative;z-index:2}.sidebar-item:hover .sidebar-item-delete{opacity:1}.sidebar-item-delete:hover{background:#ef44441a;color:#ef4444}.sidebar-overlay{display:none}.sidebar-toggle-btn{display:none;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.sidebar-toggle-btn:hover{background:#ffffff40}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;background:linear-gradient(145deg,#ffffffad,#f8fafca3);border-left:1px solid rgba(255,255,255,.2);--header-height: 56px;padding-top:0}.chat-header{display:flex;align-items:center;gap:10px;padding:10px 14px;position:relative;overflow:hidden;position:sticky;top:0;z-index:5;min-height:var(--header-height);margin:0;width:100%;border-radius:0;background:transparent;color:#f8fafc;border:1px solid rgba(255,255,255,.16);border-top:0;box-shadow:0 6px 18px #060a0c2e}.chat-header-top{display:flex;align-items:center;gap:12px;width:100%;position:relative;z-index:2}.chat-header-bottom{display:none}.chat-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:0;pointer-events:none}.chat-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffffff38;box-shadow:inset 1px 1px #fff9,inset 0 0 5px #ffffff59;z-index:1;pointer-events:none}.header-brand{display:flex;align-items:center;gap:10px;position:relative;z-index:2}.theme-toggle{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:transparent;cursor:pointer;box-shadow:0 6px 16px #060a0c2e;transition:all .2s ease;overflow:hidden}.theme-toggle:hover{transform:translateY(-1px);box-shadow:0 10px 20px #060a0c38}.theme-toggle-bg,.theme-toggle-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.theme-toggle-bg{z-index:0;background:#ffffff29}.theme-toggle-glow{z-index:1;box-shadow:inset 1px 1px #ffffff8c,inset 0 0 6px #ffffff59}.theme-swatch{position:relative;z-index:2;width:14px;height:14px;border-radius:4px;box-shadow:inset 0 0 0 1px #fff3}.theme-swatch--dark{background:linear-gradient(135deg,#0b0f12,#161c22)}.theme-swatch--gradient{background:linear-gradient(135deg,#f26633,#2d6b6d,#d1af9c)}.theme-toggle[data-theme=dark] .theme-swatch--dark,.theme-toggle[data-theme=glass] .theme-swatch--gradient{box-shadow:inset 0 0 0 1px #ffffff80,0 0 0 2px #0f172a40}.header-content{display:flex;align-items:center;flex:0 0 auto;position:relative;z-index:2}.header-user{display:flex;align-items:center;gap:10px;margin-left:auto;position:relative;z-index:2}.report-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;background:transparent;border:1px solid transparent;border-radius:8px;color:#0a0f12d9;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:none}.report-btn:before,.report-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.report-btn:before{z-index:0;backdrop-filter:blur(4px) saturate(115%);-webkit-backdrop-filter:blur(4px) saturate(115%)}.report-btn:after{z-index:1;background:#ffffff1f;box-shadow:inset 1px 1px #fff6,inset 0 0 4px #ffffff38}.report-btn>*{position:relative;z-index:2}.report-btn:hover{border-color:#ffffff38;box-shadow:0 8px 16px #060a0c2e;border-radius:16px}.report-btn:hover{color:#ef4444}.report-btn svg{stroke:currentColor}.user-email{font-size:13px;opacity:.85;font-weight:500;color:#0a0f1299;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:transparent;border:1px solid transparent;border-radius:12px;color:#0a0f12d9;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:none}.logout-btn:hover{border-color:#ffffff38;box-shadow:0 8px 16px #060a0c33;transform:translateY(-1px)}.logout-btn:before,.logout-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.logout-btn:before{z-index:0;backdrop-filter:blur(4px) saturate(120%);-webkit-backdrop-filter:blur(4px) saturate(120%)}.logout-btn:after{z-index:1;background:#ffffff1f;box-shadow:inset 1px 1px #ffffff73,inset 0 0 4px #fff3}.logout-btn>*{position:relative;z-index:2}.chat-header h1{font-size:16px;font-weight:700;margin:0;letter-spacing:-.3px;color:#060a0cb3;text-shadow:0 1px 10px rgba(255,255,255,.25)}.brand-ai{color:#6ea0dce6;text-shadow:0 1px 6px rgba(110,160,220,.35)}.header-subtitle{font-size:13px;margin:0;opacity:.9;font-weight:500}.chat-messages{flex:1;overflow-y:auto;padding:calc(28px + var(--header-height)) 28px 28px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(180deg,#f8fafc73,#f1f5f973);margin-top:calc(var(--header-height) * -1)}body[data-theme=dark] .gradient-bg{opacity:.25}body[data-theme=dark] .chat-sidebar{background:linear-gradient(180deg,#1c2228d9,#181e24d9);border-right-color:#ffffff14}body[data-theme=dark] .sidebar-header{border-bottom-color:#ffffff14}body[data-theme=dark] .sidebar-item-title{color:#ebf2f8eb}body[data-theme=dark] .sidebar-item-meta{color:#ebf2f899}body[data-theme=dark] .chat-main{background:linear-gradient(145deg,#06080ae6,#050709e6);border-left-color:#ffffff14}body[data-theme=dark] .chat-messages{background:linear-gradient(180deg,#050709c7,#06080ac7)}body[data-theme=dark] .message-content{color:#ebf2f8f2}body[data-theme=dark] .assistant-message .message-content{background:#1c2228eb;border-color:#ffffff14;box-shadow:0 2px 10px #00000040}body[data-theme=dark] .user-message .message-content{background:linear-gradient(135deg,#4c1d95d9,#7c3aedd9);box-shadow:0 4px 12px #7c3aed40}body[data-theme=dark] .loading-indicator{background:#0c1014e6;border-color:#ffffff14;color:#ebf2f8bf;box-shadow:0 2px 10px #00000040}body[data-theme=dark] .loading-indicator .spinner{color:#ebf2f8b3}body[data-theme=dark] .chat-input{background:#06080ad9;border-top-color:#ffffff0f}body[data-theme=dark] .gemini-inner{background:#0a0c0ed9;color:#ebf2f8e6}body[data-theme=dark] .gemini-wrapper button,body[data-theme=dark] .gemini-wrapper input{color:#ebf2f8e6}body[data-theme=dark] .gemini-wrapper input[type=text]:not(:placeholder-shown){color:#ebf2f8f2}body[data-theme=dark] .gemini-wrapper{border-color:#ffffff47}body[data-theme=dark] .gemini-border{opacity:.8}body[data-theme=dark] .download-link-btn{color:#ebf2f8e6;text-shadow:none;border-color:#ffffff24;background:transparent}body[data-theme=dark] .new-chat-btn{color:#ebf2f8e6;border-color:#ffffff24;background:#06080a59}body[data-theme=dark] .chat-header h1{color:#f5f8faeb;text-shadow:0 1px 10px rgba(0,0,0,.35)}body[data-theme=dark] .brand-ai{color:#b4d2fff2;text-shadow:0 1px 8px rgba(120,170,255,.45)}body[data-theme=dark] .user-email,body[data-theme=dark] .logout-btn,body[data-theme=dark] .report-btn{color:#f5f8fad9}body[data-theme=dark] .report-btn:after{background:#080a0c8c;box-shadow:inset 1px 1px #ffffff2e,inset 0 0 4px #ffffff1f}body[data-theme=dark] .report-btn:hover{color:#ef4444}body[data-theme=dark] .report-btn:hover span,body[data-theme=dark] .report-btn:hover svg{color:#ef4444;stroke:currentColor}body[data-theme=dark] .sidebar-item-delete{color:#f5f8facc}body[data-theme=dark] .chat-header{border-color:#ffffff1a}body[data-theme=dark] .chat-header:before{background:transparent}body[data-theme=dark] .chat-header:after{background:#0a0c0e99;box-shadow:inset 1px 1px #ffffff2e,inset 0 0 4px #ffffff1f}body[data-theme=dark] .theme-toggle-bg{background:#080a0c99}body[data-theme=dark] .theme-toggle-glow{box-shadow:inset 1px 1px #ffffff38,inset 0 0 4px #ffffff1f}body[data-theme=dark] .new-chat-glass-overlay,body[data-theme=dark] .download-link-btn:after,body[data-theme=dark] .upload-btn:after,body[data-theme=dark] .sidebar-item:after,body[data-theme=dark] .logout-btn:after{background:#080a0c8c;box-shadow:inset 1px 1px #ffffff2e,inset 0 0 4px #ffffff1f}body[data-theme=dark] .download-link-btn:after{background:#ffffff08;box-shadow:inset 1px 1px #fff6,inset 0 0 4px #fff3}body[data-theme=dark] .theme-toggle{background:#06080a59;border-color:#ffffff24}body[data-theme=dark] .upload-btn{color:#ebf2f8eb;border-color:#ffffff24;background:#06080a59}body[data-theme=dark] .encryption-notice{color:#ebf2f899;background:transparent}body[data-theme=dark] .upload-btn{color:#ebf2f8f2;border-color:#ffffff2e}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:#fff3;border-radius:6px}.chat-messages::-webkit-scrollbar-thumb{background:#14191e59;border-radius:6px;border:1px solid rgba(255,255,255,.3)}.chat-messages::-webkit-scrollbar-thumb:hover{background:#14191e80}body[data-theme=dark] .chat-messages::-webkit-scrollbar-track{background:#ffffff14}body[data-theme=dark] .chat-messages::-webkit-scrollbar-thumb{background:#ebf2f840;border:1px solid rgba(255,255,255,.15)}body[data-theme=dark] .chat-messages::-webkit-scrollbar-thumb:hover{background:#ebf2f866}.message{display:flex;flex-direction:column;max-width:75%;animation:slideIn .4s cubic-bezier(.16,1,.3,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.user-message{align-self:flex-end}.assistant-message{align-self:flex-start}.message-content{padding:14px 18px;border-radius:16px;line-height:1.6;font-size:15px}.user-message .message-content{background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border-bottom-right-radius:6px;box-shadow:0 4px 12px #06b6d440}.assistant-message .message-content{background:#fff;color:#1e293b;border:1px solid #e2e8f0;border-bottom-left-radius:6px;box-shadow:0 2px 8px #0000000a}.message-content p{margin:0;word-wrap:break-word}.message-content ul,.message-content ol{margin:10px 0;padding-left:24px}.message-content li{margin:6px 0}.message-content table{width:max-content;min-width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}.message-content thead{background:#f1f5f9}.message-content th,.message-content td{border:1px solid #e2e8f0;padding:8px 12px;text-align:left;white-space:nowrap}.message-content th{font-weight:600;color:#334155;background:#f1f5f9}.message-content tr:nth-child(2n){background:#f8fafc}.message-content tr:hover{background:#e2e8f0}.message-content code{background:#f1f5f9;padding:3px 7px;border-radius:5px;font-size:.9em;font-family:Monaco,Consolas,monospace}.message-content pre{background:#1e293b;color:#e2e8f0;padding:14px;border-radius:10px;overflow-x:auto;margin:10px 0}.message-content pre code{background:none;padding:0;color:inherit}.message-content img{max-width:120px;max-height:120px;border-radius:6px;object-fit:cover;cursor:pointer;transition:transform .2s ease;display:inline-block;vertical-align:middle;margin:4px 4px 4px 0}.message-content img:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.message-timestamp{font-size:11px;color:#94a3b8;margin-top:6px;padding:0 6px;font-weight:500}.user-message .message-timestamp{text-align:right}.response-time{margin-left:8px;padding:1px 6px;background:#0ea5e91a;color:#0ea5e9;border-radius:6px;font-size:10px;font-weight:600;letter-spacing:.3px}body[data-theme=dark] .response-time{background:#0ea5e926;color:#38bdf8}.loading-indicator{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;color:#64748b;box-shadow:0 2px 8px #0000000a}.spinner{animation:spin 1s linear infinite;color:#06b6d4}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-input{display:flex;align-items:center;gap:12px;padding:24px 28px;background:#fff;border-top:none}.gemini-wrapper{--border-size: 4px;--gradient: conic-gradient(from var(--rotation) at 52% 49% in oklab, oklch(.63 .2 251.22) 27%, oklch(.67 .21 25.81) 33%, oklch(.9 .19 93.93) 41%, oklch(.79 .25 150.49) 49%, oklch(.63 .2 251.22) 65%, oklch(.72 .21 150.89) 93%, oklch(.63 .2 251.22));animation:gemini-rotate 5s infinite linear;border-radius:2rem;background:transparent;position:relative;padding:0;border:1px solid rgba(255,255,255,.18);flex:1}.gemini-wrapper:after{content:"";position:absolute;display:block;width:100%;height:100%;background:var(--gradient);top:50%;left:50%;translate:-50% -50%;z-index:-1;animation:gemini-rotate 5s infinite linear;filter:blur(6px);opacity:.18}.gemini-wrapper:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffffff24;box-shadow:inset 1px 1px #ffffff80,inset 0 0 6px #ffffff40;z-index:1}.gemini-inner{background:#ffffffc7;color:#222;padding:.7rem .5rem;position:relative;z-index:2;border-radius:inherit;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.5rem;font-family:system-ui}.gemini-border{position:absolute;inset:calc(var(--border-size) * -1);mask:linear-gradient(white);border-radius:inherit;overflow:hidden;opacity:.65}.gemini-border:after{content:"";position:absolute;width:100%;height:100%;background:var(--gradient);top:50%;left:50%;translate:-50% -50%;z-index:-1;filter:blur(3px);opacity:.35}.table-scroll-wrapper{overflow-x:auto;margin:10px 0;border-radius:12px;max-width:100%}.message-content table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px;line-height:1.45}.table-scroll-wrapper::-webkit-scrollbar{height:8px}.table-scroll-wrapper::-webkit-scrollbar-track{background:#fff3;border-radius:6px}.table-scroll-wrapper::-webkit-scrollbar-thumb{background:#14191e59;border-radius:6px;border:1px solid rgba(255,255,255,.3)}.table-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#14191e80}body[data-theme=dark] .table-scroll-wrapper::-webkit-scrollbar-track{background:#ffffff14}body[data-theme=dark] .table-scroll-wrapper::-webkit-scrollbar-thumb{background:#ebf2f840;border:1px solid rgba(255,255,255,.15)}body[data-theme=dark] .table-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#ebf2f866}.message-content thead th{text-align:left;font-weight:600;padding:10px 12px;background:#f8fafcb3;color:#0f172ae6;border-bottom:1px solid rgba(148,163,184,.4)}.message-content tbody td{padding:9px 12px;border-bottom:1px solid rgba(148,163,184,.25);color:#0f172ad9;background:#fff9}.message-content tbody tr:nth-child(2n) td{background:#f1f5f98c}.message-content tbody tr:hover td{background:#e2e8f0b3}body[data-theme=dark] .message-content table{border:1px solid rgba(255,255,255,.08)}body[data-theme=dark] .message-content thead th{background:#14181cd9;color:#ecf2f8f2;border-bottom:1px solid rgba(255,255,255,.1)}body[data-theme=dark] .message-content tbody td{background:#0e1216b3;color:#e8eef4e6;border-bottom:1px solid rgba(255,255,255,.08)}body[data-theme=dark] .message-content tbody tr:nth-child(2n) td{background:#12161abf}body[data-theme=dark] .message-content tbody tr:hover td{background:#1c2228cc}@keyframes gemini-rotate{to{--rotation: 360deg}}.gemini-wrapper button,.gemini-wrapper input{color:#222;background:none;border:none}.gemini-wrapper input[type=text]{font-size:1rem;font-family:system-ui;font-weight:300;padding:8px 4px;outline:none}.gemini-wrapper input[type=text]:not(:placeholder-shown){color:#000}.gemini-wrapper input[type=text]:disabled{cursor:not-allowed;opacity:.6}.gemini-inner button{padding:8px 12px;background:none;color:#64748b;border:none;border-radius:12px;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;box-shadow:none}.gemini-inner button:hover:not(:disabled){transform:translateY(-1px)}.gemini-inner button:active:not(:disabled){transform:translateY(0)}.gemini-inner button:disabled{opacity:.5;cursor:not-allowed;transform:none}.gemini-send-btn{width:44px;height:44px;border-radius:12px;border:1px solid rgba(148,163,184,.45);background:#ffffffbf;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.gemini-send-icon{width:18px;height:18px;fill:#0f172a;transform:rotate(90deg)}.gemini-send-btn:hover:not(.disabled){background:#fffffff2;border-color:#3b82f680;transform:translateY(-1px)}.gemini-send-btn:active:not(.disabled){transform:translateY(0)}.gemini-send-btn .spinner{color:#0ea5e9}.gemini-send-btn.disabled{opacity:.45;cursor:not-allowed}.encryption-notice{text-align:center;padding:6px 16px 12px;font-size:11px;color:#94a3b8;background:#fff;letter-spacing:.2px}.upload-btn{display:flex;align-items:center;justify-content:center;gap:4px;min-width:40px;height:40px;padding:0 10px;background:transparent;border:1px solid transparent;border-radius:12px;color:#14191ee6;cursor:pointer;transition:all .2s ease;flex-shrink:0;position:relative;overflow:hidden}.upload-btn-label{display:none;font-size:12px;font-weight:600}.upload-btn:hover{border-color:#ffffff38;box-shadow:0 8px 16px #060a0c33}.upload-btn:hover .upload-btn-label{display:inline}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.upload-btn:before,.upload-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.upload-btn:before{z-index:0;backdrop-filter:blur(4px) saturate(120%);-webkit-backdrop-filter:blur(4px) saturate(120%)}.upload-btn:after{z-index:1;background:#ffffff1f;box-shadow:inset 1px 1px #ffffff73,inset 0 0 4px #fff3}.upload-btn>*{position:relative;z-index:2}.download-link-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;position:relative;overflow:hidden;background:transparent;color:#0a0e12eb;text-shadow:0 1px 0 rgba(255,255,255,.3);border:1px solid rgba(255,255,255,.22);border-radius:14px;font-size:13px;font-weight:500;margin:4px 0;cursor:pointer;transition:all .2s ease;box-shadow:0 6px 16px #060a0c2e;isolation:isolate}.download-link-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #060a0c38}.download-link-btn:before,.download-link-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.download-link-btn:before{z-index:0;background:linear-gradient(135deg,#ffffff52,#ffffff1f)}.download-link-btn:after{z-index:1;background:#ffffff2e;box-shadow:inset 1px 1px #fff9,inset 0 0 6px #ffffff59}.download-link-btn>*{position:relative;z-index:2;filter:none}.message-sources{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(148,163,184,.2);flex-wrap:wrap}.sources-label{font-size:11px;color:#94a3b8;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.source-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.2px;border:1px solid}.source-google-sheets{background:#34a8531a;color:#34a853;border-color:#34a85340}.source-sellercloud{background:#3b82f61a;color:#3b82f6;border-color:#3b82f640}.source-best-buy{background:#ffc1071f;color:#d4a017;border-color:#ffc1074d}.source-excel{background:#16a34a1a;color:#16a34a;border-color:#16a34a40}.source-ups{background:#6435001a;color:#7c4a00;border-color:#64350040}body[data-theme=dark] .message-sources{border-top-color:#ffffff14}body[data-theme=dark] .sources-label{color:#ebf2f880}body[data-theme=dark] .source-google-sheets{background:#34a85326;color:#6bcf7f;border-color:#34a8534d}body[data-theme=dark] .source-sellercloud{background:#3b82f626;color:#7db4fc;border-color:#3b82f64d}body[data-theme=dark] .source-best-buy{background:#ffc10726;color:#ffd54f;border-color:#ffc1074d}body[data-theme=dark] .source-excel{background:#16a34a26;color:#6bcf7f;border-color:#16a34a4d}body[data-theme=dark] .source-ups{background:#b4782826;color:#d4a54a;border-color:#b478284d}@media (max-width: 768px){.chat-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:1000;transform:translate(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1);border-radius:0}.chat-sidebar.open{transform:translate(0)}.sidebar-close-btn{display:flex}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999}.sidebar-toggle-btn{display:flex}.chat-header{padding:8px 12px;gap:10px}.chat-header h1{font-size:14px}.header-subtitle{font-size:11px}.user-email{display:none}.chat-messages{padding:16px;gap:14px}.message{max-width:90%}.message-content{padding:12px 14px;font-size:14px}.chat-input{padding:16px 20px;gap:10px}.gemini-inner{padding:.4rem .3rem;gap:.3rem}.gemini-wrapper input[type=text]{font-size:14px}.gemini-inner button{padding:6px 10px}}.landing-wrapper{position:relative;width:100%;height:100vh;overflow:hidden;background:#000}.landing-wrapper canvas{display:block;width:100%;height:100vh}.landing-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;text-align:center;color:#fff;pointer-events:none}.landing-content h1{font-size:clamp(4.5rem,13vw,11rem);font-weight:900;margin-bottom:.5rem;letter-spacing:-.06em;background:linear-gradient(135deg,#fff,#f0f0f0,#fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 40px rgba(255,255,255,.4)) drop-shadow(0 0 80px rgba(138,43,226,.3));animation:landingGlowPulse 3s ease-in-out infinite alternate}.landing-ai{background:linear-gradient(135deg,#a78bfa,#7dd3fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes landingGlowPulse{0%{filter:drop-shadow(0 0 40px rgba(255,255,255,.4)) drop-shadow(0 0 80px rgba(138,43,226,.3))}to{filter:drop-shadow(0 0 60px rgba(255,255,255,.6)) drop-shadow(0 0 120px rgba(0,191,255,.4))}}.landing-tagline{font-size:clamp(.9rem,2vw,1.2rem);font-weight:300;color:#ffffffe6;letter-spacing:.3em;text-transform:uppercase;text-shadow:0 0 30px rgba(255,255,255,.5),0 0 60px rgba(138,43,226,.3)}.landing-buttons{display:flex;justify-content:center;gap:24px;margin-top:40px;pointer-events:auto}.landing-glass-button{position:relative;padding:16px 40px;font-size:1rem;font-weight:600;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1.5px solid transparent;border-radius:40px;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);box-shadow:0 8px 32px #0003,inset 0 1px #fff3,inset 0 -1px #ffffff0d;overflow:hidden;cursor:pointer;transition:all .5s cubic-bezier(.4,0,.2,1);pointer-events:auto}.landing-glass-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:40px;padding:1.5px;background:linear-gradient(135deg,#fff6,#8a2be266,#00bfff66,#ff69b466,#fff6);background-size:200% 200%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:landingBorderFlow 3s linear infinite;opacity:.6;transition:opacity .5s ease}@keyframes landingBorderFlow{0%{background-position:0% 50%}to{background-position:200% 50%}}.landing-glass-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:40px;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.2) 0%,transparent 50%);opacity:0;transition:opacity .5s ease}.landing-glass-button:hover{background:linear-gradient(135deg,#ffffff26,#ffffff0d);box-shadow:0 12px 48px #8a2be24d,0 0 80px #00bfff33,inset 0 1px #ffffff4d,inset 0 -1px #ffffff1a;transform:translateY(-3px) scale(1.02)}.landing-glass-button:hover:before{opacity:1;animation-duration:2s}.landing-glass-button:hover:after{opacity:1}.landing-glass-button:active{transform:translateY(-1px) scale(.98);box-shadow:0 6px 24px #8a2be233,inset 0 1px #ffffff4d}.landing-glass-button .shimmer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 45%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.1) 55%,transparent 100%);transform:rotate(30deg);animation:landingShimmer 3s infinite;pointer-events:none}@keyframes landingShimmer{0%{transform:translate(-100%) rotate(30deg)}to{transform:translate(100%) rotate(30deg)}}.landing-glass-button:hover .shimmer{animation-duration:1.5s}.landing-glass-button span{position:relative;z-index:1}:root{--login-primary: #0ea5e9;--login-primary-dark: #0284c7;--login-secondary: #06b6d4;--login-accent: #14b8a6;--login-bg: #000000;--login-surface: rgba(12, 14, 18, .85);--login-surface-light: rgba(22, 26, 32, .7);--login-text: #f8fafc;--login-text-secondary: #cbd5e1;--login-text-muted: #94a3b8;--login-border: rgba(255, 255, 255, .1);--login-success: #10b981;--login-danger: #ef4444}.login-wrapper{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:#000}.login-container{width:100%;max-width:450px;position:relative}.back-to-landing{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:#ffffff80;font-size:.9rem;font-family:inherit;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;transition:color .3s}.back-to-landing:hover{color:#ffffffe6}.logo-section{text-align:center;margin-bottom:3rem}.logo{font-size:2.5rem;font-weight:700;color:var(--login-text);margin-bottom:.5rem}.logo span{background:linear-gradient(135deg,var(--login-primary) 0%,var(--login-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-subtitle{color:#fff6;font-size:1rem;margin:0;letter-spacing:.15em;text-transform:uppercase}.login-card{position:relative;background:var(--login-surface);border:1px solid rgba(255,255,255,.1);border-radius:1.5rem;padding:3rem;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 1px #ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 1px 1px #ffffff14,inset 0 0 6px #ffffff0a}.form-header{margin-bottom:2rem}.form-header h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--login-text);font-weight:700}.form-header p{color:#ffffff73;font-size:.9rem;margin:0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem;color:#fff9}.form-group input{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;color:var(--login-text);font-size:1rem;font-family:inherit;transition:all .3s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.form-group input:focus{outline:none;border-color:#ffffff40;background:#ffffff14;box-shadow:0 0 0 3px #8a2be21a,inset 0 0 4px #ffffff0a}.form-group input::placeholder{color:#ffffff40}.password-input-wrapper{position:relative}.toggle-password{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff59;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:color .2s}.toggle-password:hover{color:#fffc}.code-input{text-align:center;font-size:1.5rem!important;letter-spacing:.5rem;font-weight:600;font-family:Courier New,monospace!important}.btn-login{width:100%;padding:1rem;border:none;border-radius:40px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .5s cubic-bezier(.4,0,.2,1);font-family:inherit;display:flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:.05em}.btn-primary-login{position:relative;color:#fff;background:linear-gradient(135deg,#ffffff1a,#ffffff08);border:1.5px solid transparent;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:0 8px 32px #0000004d,inset 0 1px #fff3,inset 0 -1px #ffffff0d;overflow:hidden}.btn-primary-login:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:40px;padding:1.5px;background:linear-gradient(135deg,#fff6,#8a2be266,#00bfff66,#ff69b466,#fff6);background-size:200% 200%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:loginBorderFlow 3s linear infinite;opacity:.6;transition:opacity .5s ease;pointer-events:none}@keyframes loginBorderFlow{0%{background-position:0% 50%}to{background-position:200% 50%}}.btn-primary-login:hover:not(:disabled){background:linear-gradient(135deg,#ffffff26,#ffffff0d);box-shadow:0 12px 48px #8a2be24d,0 0 80px #00bfff26,inset 0 1px #ffffff4d,inset 0 -1px #ffffff1a;transform:translateY(-3px) scale(1.02)}.btn-primary-login:hover:not(:disabled):before{opacity:1;animation-duration:2s}.btn-primary-login:active:not(:disabled){transform:translateY(-1px) scale(.98)}.btn-primary-login:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-secondary-login{position:relative;color:#ffffffb3;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:16px;margin-top:.75rem;overflow:hidden;box-shadow:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.btn-secondary-login:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:#ffffff08;box-shadow:inset 1px 1px #ffffff14,inset 0 0 4px #ffffff0a}.btn-secondary-login:hover{background:#ffffff0f;border-color:#ffffff2e;color:#ffffffe6;box-shadow:0 8px 16px #0000004d;transform:translateY(-1px)}.alert-login{padding:1rem;border-radius:.75rem;margin-bottom:1.5rem;font-size:.9rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.alert-success-login{background:#10b9811a;border:1px solid rgba(16,185,129,.2);color:#6ee7b7}.alert-error-login{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5}.alert-info-login{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:#60a5fa}.step{animation:fadeInStep .3s ease-in}@keyframes fadeInStep{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:loginSpin .6s linear infinite}@keyframes loginSpin{to{transform:rotate(360deg)}}.domain-info{background:#8a2be214;border:1px solid rgba(138,43,226,.15);border-radius:.75rem;padding:1rem;margin-bottom:1.5rem;font-size:.875rem;color:#fff9}.domain-info strong{color:#8a2be2e6}.divider{text-align:center;margin:1.5rem 0;color:#ffffff4d;font-size:.875rem}.email-display{color:#00bfffe6;font-weight:600}@media (max-width: 768px){.login-card{padding:2rem}.logo{font-size:2rem}}.app{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;position:relative;overflow:hidden;background:#0f1416}.glass-filters{position:absolute;width:0;height:0;pointer-events:none}.app>.chat-layout{width:100%;max-width:1400px;height:92vh;position:relative;z-index:2}.gradient-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.gradient-canvas{width:100%;height:100%;display:block;pointer-events:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}code{font-family:Courier New,monospace}#root{min-height:100vh;width:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}
