.chat-layout{display:flex;height:100%;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #00000026,0 0 1px #0000001a;position:relative}.chat-sidebar{width:280px;min-width:280px;background:linear-gradient(180deg,#eef2ff,#e0e7ff,#ede9fe);display:flex;flex-direction:column;border-right:1px solid #c7d2fe}.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;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6366f14d}.new-chat-btn:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 12px #6366f166;transform:translateY(-1px)}.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:transparent}.sidebar-list::-webkit-scrollbar-thumb{background:#a5b4fc;border-radius:3px}.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}.sidebar-item:hover{background:#6366f114}.sidebar-item.active{background:#6366f11f;border:1px solid #a5b4fc}.sidebar-item-content{flex:1;min-width:0}.sidebar-item-title{font-size:13px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.sidebar-item-meta{font-size:11px;color:#6b7280;margin-top:2px}.sidebar-item-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0}.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,#fff,#f8fafc)}.chat-header{display:flex;align-items:center;gap:16px;padding:24px 28px;background:linear-gradient(135deg,#0ea5e9,#06b6d4,#14b8a6);color:#fff;border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 4px 16px #06b6d433}.header-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;box-shadow:0 4px 12px #0000001a}.header-content{display:flex;flex-direction:column;gap:2px;flex:1}.header-user{display:flex;align-items:center;gap:10px;margin-left:auto}.user-email{font-size:13px;opacity:.9;font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#ffffff40;transform:translateY(-1px)}.chat-header h1{font-size:24px;font-weight:700;margin:0;letter-spacing:-.5px}.header-subtitle{font-size:13px;margin:0;opacity:.9;font-weight:500}.chat-messages{flex:1;overflow-y:auto;padding:28px;display:flex;flex-direction:column;gap:20px;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.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:100%;border-collapse:collapse;margin:12px 0;font-size:14px;overflow-x:auto;display:block}.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}.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:flex-end;gap:12px;padding:24px 28px;background:#fff;border-top:1px solid #e2e8f0}.chat-input textarea{flex:1;padding:14px 18px;border:2px solid #e2e8f0;border-radius:14px;font-size:15px;outline:none;transition:all .25s cubic-bezier(.16,1,.3,1);background:#f8fafc;resize:none;overflow-y:auto;max-height:200px;line-height:1.5;font-family:inherit}.chat-input textarea:focus{border-color:#06b6d4;background:#fff;box-shadow:0 0 0 4px #06b6d41a}.chat-input textarea:disabled{background:#f1f5f9;cursor:not-allowed;opacity:.6}.chat-input button{padding:14px 22px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border:none;border-radius:14px;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #06b6d44d}.chat-input button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #06b6d466}.chat-input button:active:not(:disabled){transform:translateY(0)}.chat-input button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 2px 6px #06b6d433}.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:48px;height:48px;padding:0 12px;background:#f1f5f9;border:2px solid #e2e8f0;border-radius:14px;color:#64748b;cursor:pointer;transition:all .2s ease;flex-shrink:0;position:relative}.upload-btn-label{display:none;font-size:12px;font-weight:600}.upload-btn:hover{background:#e2e8f0;color:#6366f1;border-color:#6366f1}.upload-btn:hover .upload-btn-label{display:inline}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.download-link-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;margin:4px 0;cursor:pointer;transition:all .2s ease}.download-link-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}@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:16px 20px;gap:12px}.header-icon{width:38px;height:38px}.chat-header h1{font-size:18px}.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}.chat-input textarea{padding:12px 14px;font-size:14px}.chat-input button{padding:12px 18px}}:root{--login-primary: #0ea5e9;--login-primary-dark: #0284c7;--login-secondary: #06b6d4;--login-accent: #14b8a6;--login-bg: #0f172a;--login-surface: #1e293b;--login-surface-light: #334155;--login-text: #f8fafc;--login-text-secondary: #cbd5e1;--login-text-muted: #94a3b8;--login-border: #334155;--login-success: #10b981;--login-danger: #ef4444}.login-wrapper{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#0f172a,#1e293b)}.login-container{width:100%;max-width:450px}.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:var(--login-text-muted);font-size:1rem;margin:0}.login-card{background:var(--login-surface);border:1px solid var(--login-border);border-radius:1.5rem;padding:3rem;box-shadow:0 20px 50px -10px #0000004d}.form-header{margin-bottom:2rem}.form-header h2{font-size:1.5rem;margin-bottom:.5rem;color:var(--login-text)}.form-header p{color:var(--login-text-muted);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:var(--login-text-secondary)}.form-group input{width:100%;padding:.875rem 1rem;background:var(--login-surface-light);border:1px solid var(--login-border);border-radius:.75rem;color:var(--login-text);font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--login-primary);box-shadow:0 0 0 3px #0ea5e91a}.form-group input::placeholder{color:var(--login-text-muted)}.password-input-wrapper{position:relative}.toggle-password{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--login-text-muted);cursor:pointer;font-size:1.2rem;padding:.25rem;transition:color .2s}.toggle-password:hover{color:var(--login-text)}.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:.75rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary-login{background:linear-gradient(135deg,var(--login-primary) 0%,var(--login-accent) 100%);color:#fff}.btn-primary-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px -5px #0ea5e980}.btn-primary-login:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary-login{background:transparent;color:var(--login-primary);border:1px solid var(--login-border);margin-top:.75rem}.btn-secondary-login:hover{background:var(--login-surface-light)}.alert-login{padding:1rem;border-radius:.75rem;margin-bottom:1.5rem;font-size:.9rem}.alert-success-login{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#6ee7b7}.alert-error-login{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5}.alert-info-login{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);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:#0ea5e91a;border:1px solid rgba(14,165,233,.3);border-radius:.75rem;padding:1rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--login-text-secondary)}.domain-info strong{color:var(--login-primary)}.divider{text-align:center;margin:1.5rem 0;color:var(--login-text-muted);font-size:.875rem}.email-display{color:var(--login-primary);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;background:linear-gradient(135deg,#667eea,#764ba2)}.app>.chat-layout{width:100%;max-width:1400px;height:92vh}*{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}
