.course-selection{background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:20px;width:100%}.course-selection-container{margin:0 auto;max-width:1500px}.header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:30px}.header-content{display:flex;flex-direction:column;gap:20px}.course-selection-logo{margin-bottom:16px}.course-selection-logo img{filter:drop-shadow(0 4px 12px rgba(59,130,246,.3));height:50px;width:50px}.welcome-section{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.company-info{flex:1 1}.company-info p{color:#6b7280;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;margin:0}.user-welcome{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:12px;gap:16px;padding:16px 20px}.user-avatar,.user-welcome{align-items:center;display:flex}.user-avatar{aspect-ratio:1/1;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #3b82f64d;flex-shrink:0;height:60px;justify-content:center;overflow:hidden;width:60px}.user-avatar img{border-radius:50%;display:block;height:100%;object-fit:cover;width:100%}.user-avatar svg{color:#fff;font-size:24px}.user-greeting h1{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:24px;font-weight:600;line-height:1.3;margin:0}@media (max-width:768px){.welcome-section{align-items:flex-start;flex-direction:column}.user-welcome{align-self:stretch;justify-content:center}.user-avatar{aspect-ratio:1/1;height:50px;width:50px}.user-avatar svg,.user-greeting h1{font-size:20px}}.user-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.user-control-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none;transition:all .2s ease}.user-control-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.chat-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.chat-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af)}.settings-btn{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.settings-btn:hover{background:linear-gradient(135deg,#5b5f6b,#374151)}.logout-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.logout-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.user-control-btn span{font-weight:500}@media (max-width:768px){.user-controls{justify-content:center;width:100%}.user-control-btn span{display:none}.user-control-btn{border-radius:50%;justify-content:center;min-height:44px;min-width:44px;padding:12px}}.search-filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.search-container{flex:1 1;min-width:300px;position:relative}.search-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#374151;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;padding:12px 16px;transition:border-color .2s;width:100%}.search-input:focus{border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a1a;outline:none}.search-input::placeholder{color:#9ca3af}.filter-toggle{background:#1e3a8a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s ease}.filter-toggle:hover{background:#1e40af}.filters-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px}.filter-group h3{color:#1e293b;font-size:16px;font-weight:600;margin:0 0 12px}.difficulty-filters{display:flex;flex-wrap:wrap;gap:10px}.difficulty-filter{background:#fff;border:2px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.difficulty-filter.active{background:#1e3a8a;border-color:#1e3a8a;color:#fff}.course-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;text-align:center}.stat-number{color:#1e3a8a;font-size:28px;font-weight:600;line-height:1.2;margin:0 0 5px}.stat-label,.stat-number{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.stat-label{color:#6b7280;font-size:13px;font-weight:500;letter-spacing:.5px;margin:0;text-transform:uppercase}.courses-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.course-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s}.course-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.course-image{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:18px;font-weight:600;height:200px;justify-content:center;overflow:hidden;position:relative;width:100%}.course-image img{height:100%;object-fit:cover;object-position:center;width:100%}.course-image>div{position:absolute;z-index:1}.course-content{display:flex;flex-direction:column;height:calc(100% - 200px);justify-content:space-between;padding:24px}.course-title{color:#111827;font-size:18px;font-weight:600;line-height:1.3;margin:0 0 8px}.course-description,.course-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.course-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#6b7280;display:-webkit-box;font-size:14px;line-height:1.5;margin:0 0 16px;max-height:4.5em;overflow:hidden;text-overflow:ellipsis}.course-meta{align-items:center;color:#64748b;display:flex;font-size:12px;justify-content:space-between;margin-bottom:16px}.difficulty-badge{border-radius:12px;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.difficulty-beginner{background:#dcfce7;color:#166534}.difficulty-intermediate{background:#fef3c7;color:#92400e}.difficulty-advanced{background:#fee2e2;color:#991b1b}.course-progress{margin-bottom:16px}.progress-info{align-items:center;display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.progress-text{color:#64748b}.progress-percentage{color:#1e293b;font-weight:600}.progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:#1e3a8a;height:100%;transition:width .3s}.course-action{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s;width:100%}.action-start{background:#1e3a8a;color:#fff}.action-start:hover{background:#1e40af}.action-continue{background:#10b981;color:#fff}.action-continue:hover{background:#059669}.action-locked{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:2px solid #3b82f6;color:#fff;cursor:not-allowed;opacity:.7}.course-overlay{align-items:center;background:#000000b3;bottom:0;color:#fff;display:flex;font-size:18px;font-weight:600;justify-content:center;left:0;position:absolute;right:0;top:0}.overlay-completed{background:#10b981e6}.overlay-locked{background:#64748be6}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:300px;text-align:center}.loading-spinner{border:3px solid #e2e8f0;height:40px;width:40px}@media (max-width:768px){.course-selection{padding:15px}.header{padding:20px}.welcome-section h1{font-size:24px}.search-filter-section{align-items:stretch;flex-direction:column}.search-container{min-width:auto}.course-stats{gap:15px;grid-template-columns:repeat(2,1fr)}.courses-grid{gap:20px;grid-template-columns:1fr}.course-meta{align-items:flex-start;flex-direction:column;gap:8px}}@media (max-width:480px){.course-stats{grid-template-columns:1fr}.stat-number{font-size:24px}.difficulty-filters{justify-content:center}}.lesson-chat{background:#fff;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100%;max-width:100%;min-height:500px;overflow:hidden}.lesson-chat,.lesson-chat-loading{display:flex;flex-direction:column}.lesson-chat-loading{align-items:center;color:#6b7280;justify-content:center;padding:40px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#1e3a8a;height:24px;margin-bottom:12px;width:24px}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;margin-bottom:12px;padding:12px}.chat-messages{background:#fafbfc;flex:1 1;min-height:350px;overflow-y:auto;padding:20px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:#f1f5f9}.chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.chat-message{align-items:flex-start;animation:fadeIn .3s ease-out;display:flex;gap:12px;margin-bottom:16px}.chat-message.user{flex-direction:row-reverse;justify-content:flex-start}.message-avatar{font-size:14px;font-weight:600;height:32px;width:32px}.chat-message.user .message-avatar{background:#1e3a8a;color:#fff}.chat-message.assistant .message-avatar{background:#10b981;color:#fff}.message-content{word-wrap:break-word;border-radius:16px;flex:1 1;font-size:14px;line-height:1.6;max-width:70%;padding:12px 16px;white-space:pre-wrap;word-break:break-word}.chat-message.user .message-content{background:#1e3a8a;border-radius:18px 18px 4px 18px;color:#fff;margin-left:auto}.chat-message.assistant .message-content{background:#fff;border:1px solid #e5e7eb;border-radius:18px 18px 18px 4px;color:#374151}.typing-indicator{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:10px 14px}.typing-dots{align-items:center;display:flex;gap:4px}.typing-dots span{animation:typing 1.4s ease-in-out infinite;background:#9ca3af;border-radius:50%;height:6px;width:6px}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.quick-questions{background:#fff;padding:12px 16px}.quick-questions-list{display:flex;flex-wrap:wrap;gap:8px}.quick-question-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:16px;color:#374151;cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.quick-question-btn:hover{background:#e5e7eb;border-color:#9ca3af}.chat-input-area{background:#fff;box-sizing:border-box;padding:12px 16px;width:100%}.input-row{align-items:center;display:flex;gap:16px;width:100%}.input-container{background:#f8fafc;border:2px solid #e2e8f0;border-radius:28px;box-sizing:border-box;direction:ltr;flex:1 1;min-height:58px;overflow:hidden;padding:6px;text-align:left;transition:all .3s ease}.input-container:focus-within{background:#fff;border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a1a}.message-input{word-wrap:break-word;background:#0000;border:none;border-radius:24px;box-sizing:border-box;color:#374151;direction:ltr;flex:1 1;font-family:inherit;font-size:16px;line-height:1.5;max-height:150px;min-height:56px;overflow-wrap:break-word;overflow-x:hidden;overflow-y:auto;padding:16px 20px;resize:none;text-align:left;transition:all .2s ease;white-space:pre-wrap;width:100%;word-break:break-word}.message-input:focus{outline:none}.message-input,.message-input:active,.message-input:focus{word-wrap:break-word!important;direction:ltr!important;-webkit-hyphens:auto!important;hyphens:auto!important;overflow-wrap:break-word!important;text-align:left!important;white-space:pre-wrap!important;word-break:break-word!important}.message-input::placeholder{color:#9ca3af;direction:ltr!important;font-weight:400;text-align:left!important}.message-input::-webkit-input-placeholder{direction:ltr!important;text-align:left!important}.message-input::-moz-placeholder{direction:ltr!important;text-align:left!important}.message-input:-ms-input-placeholder{direction:ltr!important;text-align:left!important}.message-input:disabled{cursor:not-allowed;opacity:.6}.send-button{align-items:center;border:none;color:#fff;color:#000;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:36px;justify-content:center;min-height:36px;min-width:36px;transition:all .3s ease;width:36px}.send-button:hover:not(:disabled){background:linear-gradient(135deg,#1e40af,#1e3a8a);box-shadow:0 4px 12px #1e3a8a66;transform:translateY(-1px) scale(1.05)}.send-button:active:not(:disabled){transform:translateY(0) scale(.98)}.send-button:disabled{box-shadow:none;color:#9ca3af;cursor:not-allowed;opacity:.6;transform:none}.input-buttons{gap:12px}.clear-button,.input-buttons{align-items:center;display:flex}.clear-button{color:#dc2626;cursor:pointer;flex-shrink:0;font-size:16px;height:36px;justify-content:center;min-height:36px;min-width:36px;transition:all .3s ease;width:36px}.clear-button:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5;box-shadow:0 4px 12px #dc262633;transform:translateY(-1px) scale(1.05)}.clear-button:active:not(:disabled){transform:translateY(0) scale(.98)}.clear-button:disabled{background:#f3f4f6;border-color:#e5e7eb;box-shadow:none;color:#9ca3af;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.lesson-chat{min-height:300px}.chat-messages{min-height:200px;padding:16px}.message-content{font-size:13px;max-width:85%;padding:8px 12px}.message-avatar{font-size:12px;height:28px;width:28px}.chat-input-area{padding:20px}.input-row{gap:12px}.input-container{border-radius:24px;min-height:56px;padding:8px}.message-input{word-wrap:break-word!important;border-radius:20px;direction:ltr!important;font-size:16px;min-height:48px;overflow-wrap:break-word!important;padding:14px 18px;text-align:left!important;white-space:pre-wrap!important;word-break:break-word!important}.send-button{font-size:18px;height:48px;margin-bottom:4px;min-height:48px;min-width:48px;width:48px}.clear-button{font-size:14px;height:40px;margin-bottom:4px;min-height:40px;min-width:40px;width:40px}.input-buttons{gap:8px}.quick-question-btn{font-size:11px;padding:4px 10px}}.lesson-player{background:#f8fafc;display:flex;flex-direction:column;margin:0;margin-left:0!important;min-height:100vh;position:relative;width:100%}.lesson-header{background:#fff;border-bottom:1px solid #e2e8f0;gap:16px;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.back-button,.lesson-header{align-items:center;display:flex}.back-button{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.back-button:hover{background:#e2e8f0;border-color:#cbd5e1}.course-info{flex:1 1}.course-info h2{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:18px;font-weight:600;line-height:1.3;margin:0}.expovision-logo-button{align-items:center;background:#1e3a8a;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.expovision-logo-button:hover{background:#1e40af}.expovision-logo{filter:brightness(0) invert(1);height:24px;width:24px}.lesson-player-container-wrapper{margin:0 auto;max-width:1500px;width:100%}.lesson-player-container{display:flex;flex:1 1;gap:24px;margin:0;margin-left:0!important;min-height:0;padding:24px;width:100%}.lesson-main-content{display:flex;flex:0 0 70%;flex-direction:column;min-width:0}.video-container{width:100%}.video-player{aspect-ratio:16/9;background:#000;border-radius:12px;box-shadow:0 4px 16px #0000001a;overflow:hidden;position:relative;width:100%}.video-player iframe{border:none;height:100%;width:100%}.video-placeholder{align-items:center;background:linear-gradient(135deg,#1e293b,#334155);color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center;width:100%}.video-placeholder h3{font-size:24px;font-weight:600;margin:0 0 8px}.video-placeholder p{color:#94a3b8;font-size:16px;margin:0}.lesson-title{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:20px;font-weight:600;line-height:1.4;margin:12px 0}.lesson-meta{color:#64748b;gap:16px;margin-bottom:16px}.complete-lesson-btn,.lesson-meta{align-items:center;display:flex;font-size:14px}.complete-lesson-btn{background:#16a34a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;gap:8px;margin-bottom:20px;padding:12px 20px;transition:all .2s ease}.complete-lesson-btn:hover{background:#15803d}.lesson-description{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 2px 8px #0000000a;margin-bottom:24px;padding:24px}.lesson-description-title{color:#7288b8;display:inline-block;font-size:14px;font-weight:600;line-height:1.4;margin-bottom:12px}.lesson-description p{color:#334155;font-size:16px;font-weight:400;line-height:1.7;margin:0}.lesson-chat-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 16px #0000000f;display:flex;flex:1 1;flex-direction:column;min-height:500px;padding:24px}.chat-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:12px;margin-bottom:12px;padding-bottom:12px}.chat-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e3a8a,#1e40af);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:18px;font-weight:600;margin:0}.chat-body{display:flex;flex:1 1;flex-direction:column;max-height:60vh;min-height:380px;overflow:hidden}.chat-body .lesson-chat{display:flex;flex-direction:column;height:100%}.lessons-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 16px #0000000f;display:flex;flex:0 0 30%;flex-direction:column;min-width:380px;overflow:hidden}.sidebar-header{background:#fafbfc;border-bottom:1px solid #f1f5f9;padding:24px 24px 16px}.lessons-list{height:100%}.sidebar-title{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:18px;font-weight:600;line-height:1.3;margin:0 0 4px}.sidebar-subtitle{color:#64748b;font-size:14px;margin:0}.lessons-list{flex:1 1;gap:16px;overflow-y:auto;padding:16px}.lesson-item,.lessons-list{display:flex;flex-direction:column}.lesson-item{background:#fff;border:2px solid #f1f5f9;border-radius:16px;box-shadow:0 2px 8px #0000000a;cursor:pointer;padding:20px;position:relative;transition:all .3s ease}.lesson-item:hover{border-color:#1e3a8a;box-shadow:0 8px 32px #1e3a8a26;transform:translateY(-2px)}.lesson-item.active{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#1e3a8a}.lesson-item.completed{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#22c55e}.lesson-thumbnail{align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;height:180px;justify-content:center;margin-bottom:16px;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease;width:100%}.lesson-thumbnail:hover{box-shadow:0 4px 16px #00000026;transform:scale(1.02)}.lesson-thumbnail img{height:100%;object-fit:cover;transition:opacity .3s ease;width:100%}.lesson-thumbnail img:hover{opacity:.9}.lesson-thumbnail-placeholder{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:10px;color:#64748b;display:flex;flex-direction:column;font-size:14px;gap:8px;height:100%;justify-content:center;left:0;position:absolute;text-align:center;top:0;transition:all .3s ease;width:100%}.lesson-thumbnail-placeholder:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#94a3b8}.lesson-thumbnail-placeholder i,.lesson-thumbnail-placeholder svg{color:#94a3b8;font-size:32px;transition:color .3s ease}.lesson-thumbnail-placeholder:hover i,.lesson-thumbnail-placeholder:hover svg{color:#64748b}.lesson-thumbnail-placeholder span{color:#64748b;font-size:12px;font-weight:500}.lesson-content{flex:1 1}.lesson-number{color:#1e3a8a;font-size:12px;font-weight:600;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.lesson-name{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:600;line-height:1.4;margin:0 0 8px}.lesson-description-short{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:14px;line-height:1.5;margin:0 0 12px;overflow:hidden}.lesson-duration{color:#94a3b8;font-size:12px;font-weight:500}.lesson-status{align-items:center;border-radius:50%;display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;position:absolute;right:16px;top:16px;width:24px}.lesson-status.completed{background:#22c55e;color:#fff}.lesson-status.current{background:#1e3a8a;color:#fff}.lesson-status.pending{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}@media (max-width:1200px){.lesson-player-container{flex-direction:column;gap:20px}.lesson-main-content{flex:none}.lessons-sidebar{flex:none;height:auto;max-height:400px;min-width:0;position:relative;top:auto}.lessons-list{flex-direction:row;height:auto;overflow-x:auto;padding:16px}.lesson-item{min-width:280px}.lesson-thumbnail{height:120px}}@media (max-width:768px){.lesson-player-container{padding:16px}.lesson-chat-section{min-height:300px}.chat-body{max-height:50vh;min-height:260px}.lesson-thumbnail{height:100px}.lesson-item{min-width:240px;padding:16px}.lesson-name{font-size:14px}.lesson-description-short{font-size:12px}}.loading-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:1rem}.loading-spinner svg{color:var(--primary-color);filter:drop-shadow(0 2px 4px rgba(102,126,234,.2));font-size:3rem}.loading-spinner span{color:var(--text-secondary);font-size:1rem;font-weight:500}.auth-form-container{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1e3a8a,#3730a3 50%,#1e1b4b);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-form{animation:slideIn .3s ease-out;background:#fff;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 20px 40px #0000004d,0 8px 32px #1e3a8a33;margin:20px;max-width:400px;width:100%}.auth-form-header{align-items:center;border-bottom:1px solid #f2f2f2;display:flex;flex-direction:column;margin-bottom:24px;padding:28px 32px 0;position:relative}.auth-logo{margin-bottom:20px}.auth-logo img{filter:drop-shadow(0 4px 12px rgba(59,130,246,.3));height:60px;width:60px}.auth-form-header h2{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:24px;font-weight:600;line-height:1.3;margin:0}.auth-close-btn{background:none;border:none;border-radius:8px;color:#bdbdbd;cursor:pointer;font-size:22px;padding:8px;transition:background .18s,color .18s}.auth-close-btn:hover{background:#f2f2f2;color:#222}.auth-form-content{padding:0 32px 32px}.auth-error-message{background:#ffeded;border:1px solid #ffd2d2;border-radius:10px;color:#d32f2f;font-size:15px;margin-bottom:20px;padding:12px 16px}.auth-form-group{margin-bottom:20px}.auth-form-group label{color:#6b7280;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.auth-form-group input,.auth-form-group label{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-form-group input{background:#f5f5f5;border:none;border-radius:10px;box-sizing:border-box;color:#111827;font-size:15px;padding:13px 16px;transition:box-shadow .18s;width:100%}.auth-form-group input:focus{box-shadow:0 0 0 2px #1e40af;outline:none}.auth-form-group input.error{box-shadow:0 0 0 2px #f44}.auth-form-group input::placeholder{color:#9ca3af}.auth-form-group input:disabled{cursor:not-allowed;opacity:.6}.auth-input-with-icon{position:relative}.auth-input-icon{color:#888;font-size:14px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.auth-field-error{color:#f66;display:block;font-size:12px;margin-top:4px}.auth-form-help{color:#bdbdbd;display:block;font-size:13px;margin-top:6px}.auth-submit-btn{align-items:center;background:linear-gradient(90deg,#1e3a8a,#1e40af);border:none;border-radius:10px;box-shadow:0 2px 8px #2eca7314;color:#fff;cursor:pointer;display:flex;font-size:17px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:15px 0;transition:background .18s,box-shadow .18s,transform .18s;width:100%}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(90deg,#1e40af,#1e3a8a);box-shadow:0 4px 16px #1e3a8a33;transform:translateY(-1px) scale(1.01)}.auth-submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.auth-form-footer{border-top:1px solid #333;padding:20px 24px 24px;text-align:center}.auth-form-footer p{color:#888;font-size:14px;margin:0}.auth-switch{border-top:1px solid #f2f2f2;margin-top:20px;padding-top:16px;text-align:center}.auth-switch-btn{background:none;border:none;color:#2eca73;cursor:pointer;font-size:14px;font-weight:500;text-decoration:underline;transition:color .18s;transition:color .2s ease}.auth-switch-btn:hover:not(:disabled){color:#5aa3ff}.auth-switch-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:480px){.auth-form{margin:10px;max-width:98vw}.auth-form-header{padding:20px 20px 0}.auth-form-header h2{font-size:22px}.auth-form-content{padding:0 14px 18px}.auth-form-footer{padding:16px 20px 20px}}.settings-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.settings-modal{animation:slideIn .3s ease-out;background:#fff;border:none;border-radius:20px;box-shadow:0 8px 32px #2eca731a,0 2px 8px #0000000f;display:flex;flex-direction:column;margin:20px;max-height:90vh;max-width:420px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.settings-header{align-items:center;border-bottom:1px solid #f2f2f2;display:flex;justify-content:space-between;padding:28px 32px 0}.settings-header h2{color:#222;font-size:26px;font-weight:700;margin:0}.settings-close-btn{background:none;border:none;border-radius:8px;color:#bdbdbd;cursor:pointer;font-size:22px;padding:8px;transition:background .18s,color .18s}.settings-close-btn:hover{background:#f2f2f2;color:#222}.settings-tabs{border-bottom:1px solid #f2f2f2;display:flex;margin-bottom:24px}.settings-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#888;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:16px 20px;transition:all .2s ease}.settings-tab:hover{background:#f8f8f8;color:#222}.settings-tab.active{background:#f8f8f8;border-bottom-color:#2eca73;color:#2eca73}.settings-content{flex:1 1;overflow-y:auto;padding:32px}.settings-success-message{background:#22c55e;border:1px solid #16a34a;border-radius:8px}.settings-error-message,.settings-success-message{color:#fff;font-size:14px;margin-bottom:20px;padding:12px 16px}.settings-error-message{background:#f44;border:1px solid #f66;border-radius:8px}.settings-tab-content{animation:fadeIn .2s ease-out}.avatar-section{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.avatar-preview{align-items:center;background-color:#f5f5f5;border-radius:50%;box-shadow:0 2px 8px #2eca730f;display:flex;height:110px;justify-content:center;overflow:hidden;width:110px}.avatar-image{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;color:#bdbdbd;display:flex;font-size:48px;height:100%;justify-content:center;width:100%}.avatar-controls{display:flex;gap:12px}.upload-avatar-btn{align-items:center;background-color:#e9fbe9;border:none;border-radius:8px;color:#1db954;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;padding:8px 18px;transition:background .18s,color .18s}.upload-avatar-btn:hover{background-color:#d2f5d2;color:#17a74a}.error-message{color:var(--error-color);font-size:14px;margin-top:4px}.settings-form-group{margin-bottom:20px}.settings-form-group label{color:#888;display:block;font-size:15px;font-weight:500;margin-bottom:8px}.settings-form-group input{background:#f5f5f5;border:none;border-radius:10px;box-sizing:border-box;color:#222;font-size:16px;padding:13px 16px;transition:box-shadow .18s;width:100%}.settings-form-group input:focus{box-shadow:0 0 0 2px #2eca73;outline:none}.settings-form-group input::placeholder{color:#bdbdbd}.settings-form-group input.error{border-color:#f44;box-shadow:0 0 0 3px #ff44441a}.settings-form-group input:disabled{cursor:not-allowed;opacity:.6}.settings-field-error{color:#f66;display:block;font-size:12px;margin-top:4px}.settings-submit-btn{background:linear-gradient(90deg,#2eca73,#1db954);border:none;border-radius:10px;box-shadow:0 2px 8px #2eca7314;color:#fff;cursor:pointer;font-size:17px;font-weight:600;margin-top:18px;padding:15px 0;transition:background .18s,box-shadow .18s,transform .18s;width:100%}.settings-submit-btn:hover:not(:disabled){background:linear-gradient(90deg,#1db954,#2eca73);box-shadow:0 4px 16px #2eca7321;transform:translateY(-1px) scale(1.01)}.settings-submit-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.subscription-info{text-align:center}.subscription-status{background:#2a2a2a;border:1px solid #333;border-radius:12px;margin-bottom:32px;padding:24px}.subscription-status h3{color:#fff;font-size:18px;font-weight:600;margin:0 0 16px}.status-badge{align-items:center;border-radius:8px;display:inline-flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:12px;padding:12px 20px}.status-badge.pro{background:linear-gradient(135deg,gold,#ffb300);color:#000}.status-badge.free{background:#333;color:#888}.expiry-date{color:#888;font-size:14px;margin:0}.subscription-features{background:#2a2a2a;border:1px solid #333;border-radius:12px;margin-bottom:32px;padding:20px;text-align:left}.subscription-features h4{color:#fff;font-size:16px;font-weight:600;margin:0 0 16px}.subscription-features ul{list-style:none;margin:0;padding:0}.subscription-features li{color:#ccc;font-size:14px;padding:8px 0 8px 24px;position:relative}.subscription-features li:before{color:#22c55e;content:"✓";font-weight:700;left:0;position:absolute}.pro-activate-btn{background:linear-gradient(135deg,gold,#ffb300);border:none;border-radius:8px;color:#000;cursor:pointer;font-size:16px;font-weight:600;padding:16px 32px;transition:all .2s ease}.pro-activate-btn:hover:not(:disabled){background:linear-gradient(135deg,#ffe135,#ffc300);box-shadow:0 4px 12px #ffd7004d;transform:translateY(-1px)}.pro-activate-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}@media (max-width:640px){.settings-modal{margin:10px;max-height:95vh;max-width:98vw}.settings-header{padding:20px 20px 0}.settings-header h2{font-size:20px}.settings-content{padding:18px}.settings-tab{font-size:13px;padding:12px 16px}.avatar-preview{height:100px;width:100px}.avatar-placeholder{font-size:32px}.upload-avatar-btn{font-size:12px;padding:8px 16px}}.messages{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1 1;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-y:auto;overscroll-behavior:contain;padding:20px 20px 200px 40px;position:relative;scroll-behavior:smooth;touch-action:pan-y}.message,.messages{display:flex;gap:12px}.message{word-wrap:break-word;animation:fadeIn .3s ease-in;margin-bottom:0;max-width:80%;opacity:1;overflow-wrap:break-word;transition:opacity .3s ease}.message.user{flex-direction:row-reverse;margin-left:auto}.message.assistant{margin-right:auto}.message-avatar-assistant{align-items:center;display:flex;gap:10px}.message.temporary{opacity:.8}.message-avatar{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;margin-right:1rem;min-width:40px;width:40px}.message-avatar.user-avatar{background:var(--secondary-color)}.message-sender{align-self:flex-start;color:#666;font-size:14px;margin-top:8px}.message-content{display:flex;flex-direction:column;gap:4px;max-width:100%}.message-bubble{word-wrap:break-word;-webkit-touch-callout:default;background-color:#2196f31a;border:1px solid #2196f3;border-radius:12px;display:inline-block;font-size:15px;line-height:1.5;max-width:100%;overflow-wrap:break-word;padding:12px 16px;-webkit-user-select:text;user-select:text;white-space:pre-wrap}.message.user .message-bubble{background-color:#2196f3;border:none;color:#fff}.message-content-text{display:flex;flex-direction:column;gap:8px}.message-avatar-block{align-items:center;display:flex;gap:10px;margin-bottom:4px}.message.user .message-avatar-block{flex-direction:row-reverse}.message-text{max-width:100%;width:-webkit-fit-content;width:fit-content}.message.user .message-text{margin-left:auto}.message-meta{align-items:center;display:flex;gap:8px;margin-top:4px}.message.user .message-meta{justify-content:flex-end}.message-time{color:#666;font-size:12px}.message-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s}.message:hover .message-actions{opacity:1}.action-button{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#666;cursor:pointer;padding:2px;touch-action:manipulation;transition:color .2s}.action-button:hover{color:#007aff}.action-button.loading{color:#007aff;cursor:not-allowed}.message-images{display:flex;flex-direction:column;gap:6px;margin:0}.message-image-container{background:#f8f9fa;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:inline-block;max-width:100%;overflow:hidden;position:relative}.message-image{border-radius:8px;display:block;height:auto;max-width:100%;transition:transform .2s ease}.message-image:hover{transform:scale(1.02)}.image-actions{opacity:0;position:absolute;right:8px;top:8px;transition:opacity .2s ease}.message-image-container:hover .image-actions{opacity:1}.image-action-button{-webkit-tap-highlight-color:transparent;align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;touch-action:manipulation;transition:all .2s ease;width:32px}.image-action-button:hover{background:#000000e6;transform:scale(1.1)}.message-image-error{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:100px;padding:16px;text-align:center}.message-image-error p{font-weight:500;margin:0}.message-image-error small{font-size:.8em;opacity:.7}.message.highlighted{animation:highlight 3s ease-in-out}@keyframes highlight{0%,to{background-color:initial}50%{background-color:#007aff1a}}.typing-indicator{align-items:center;display:flex;gap:4px;padding:4px 8px}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#007aff;border-radius:50%;display:inline-block;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.message-text{-webkit-touch-callout:default;line-height:1.6;-webkit-user-select:text;user-select:text}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{color:#1a1a1a;font-weight:600;line-height:1.3;margin:0}.message-text h1{font-size:1.5em}.message-text h2{font-size:1.3em}.message-text h3{font-size:1.1em}.message-text h4,.message-text h5,.message-text h6{font-size:1em}.message-text p{line-height:1.5;margin:0}.message-text ol,.message-text ul{margin:0;padding-left:18px}.message-text li{align-items:flex-start;display:flex;line-height:1.4;margin:0}.message-text ul li:before{content:"•";flex-shrink:0;margin-right:8px}.message-text ol li:before{content:counter(item) ".";counter-increment:item;flex-shrink:0;margin-right:8px}.message-text ol{counter-reset:item}.message-text li{list-style:none}.message-text code{background:#afb8c133;border:1px solid #afb8c14d;border-radius:4px;color:#d73a49;padding:2px 6px}.message-text code,.message-text pre{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.message-text pre{background:#f6f8fa;border:1px solid #e1e4e8;border-radius:6px;line-height:1.4;margin:0;overflow-x:auto;padding:8px}.message-text pre code{background:none;border:none;color:#24292e;padding:0}.message-text blockquote{background:#f8f9fa;border-left:4px solid #dfe2e5;border-radius:0 6px 6px 0;color:#6a737d;margin:0;padding:0 12px}.message-text blockquote p{margin:0}.message-text a{color:#0366d6;text-decoration:none}.message-text a:hover{text-decoration:underline}.message-text table{border-collapse:collapse;display:block;margin:0;overflow-x:auto;white-space:nowrap;width:100%}.message-text table td,.message-text table th{border:1px solid #dfe2e5;padding:4px 8px;text-align:left}.message-text table th{background:#f6f8fa;font-weight:600}.message-text table tr:nth-child(2n){background:#f6f8fa}.html-table-container{-webkit-overflow-scrolling:touch;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;box-shadow:0 1px 4px #0000001a;display:block;margin:0;max-width:100%;min-width:0;overflow-x:auto;width:-webkit-fit-content;width:fit-content}.html-table-container table{background:#fff;border-collapse:collapse;border-radius:8px;margin:0;max-width:none;overflow:hidden;table-layout:auto;width:-webkit-max-content;width:max-content}.html-table-container th{background:linear-gradient(135deg,#2eca73,#27ae60);border:none;color:#000;font-weight:600;padding:6px 12px;text-align:left}.html-table-container td,.html-table-container th{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;text-rendering:optimizeLegibility;white-space:nowrap}.html-table-container td{border-bottom:1px solid #e8e8e8;border-right:1px solid #e8e8e8;overflow:hidden;padding:4px 12px;text-overflow:ellipsis}.html-table-container td:last-child{border-right:none}.html-table-container tr:last-child td{border-bottom:none}.html-table-container tr:nth-child(2n){background-color:#f8f9fa}.html-table-container tr:hover{background-color:#e3f2fd;transition:background-color .2s ease}@media (max-width:768px){.html-table-container{border-radius:6px;box-shadow:0 1px 3px #0000001a;display:block;margin:0;max-width:100%;transform:translateZ(0);width:-webkit-fit-content;width:fit-content}.html-table-container table{border-radius:6px}.html-table-container td,.html-table-container th{font-size:14px;padding:4px 10px}}@media (max-width:480px){.html-table-container{display:block;margin:0;max-width:100%;transform:translateZ(0);width:-webkit-fit-content;width:fit-content}.html-table-container td,.html-table-container th{font-size:13px;padding:3px 8px}}.message-text hr{border:none;border-top:1px solid #e1e4e8;margin:0}.message-text strong{font-weight:600}.message-text em{font-style:italic}.message-text del{opacity:.7;text-decoration:line-through}@media (max-width:1024px){.messages{gap:10px;padding:16px 16px 180px 24px}.message{gap:10px;max-width:85%}.message-avatar{height:36px;min-width:36px;width:36px}.message-bubble{font-size:14px;padding:10px 14px}}@media (max-width:768px){.messages{gap:8px;padding:12px 12px 160px}.message{gap:8px;margin-bottom:0;max-width:90%}.message-avatar{height:32px;margin-right:.5rem;min-width:32px;width:32px}.message-bubble{border-radius:16px;font-size:16px;line-height:1.4;padding:12px 14px}.message-content{gap:6px}.message-meta{gap:6px}.message-meta,.message-time{font-size:11px}.message-actions{margin-top:4px;opacity:1}.action-button{align-items:center;display:flex;font-size:16px;justify-content:center;min-height:44px;min-width:44px;padding:8px}.image-action-button{font-size:16px;height:44px;opacity:1;width:44px}.message-images{gap:4px;margin:0}.message-image,.message-image-container{border-radius:12px}.image-action-button:hover,.message-image:hover{transform:none}.message-bubble{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text;width:100%}}@media (max-width:480px){.messages{gap:6px;padding:8px 8px 140px}.message{gap:6px;margin-bottom:0;max-width:95%}.message-avatar{height:28px;margin-right:.25rem;min-width:28px;width:28px}.message-bubble{border-radius:14px;font-size:15px;padding:10px 12px}.message-meta{gap:4px}.message-meta,.message-time{font-size:10px}.action-button{min-height:40px;min-width:40px;padding:6px}.image-action-button{font-size:14px;height:40px;width:40px}.message-avatar-block{gap:6px;margin-bottom:4px}}@media (orientation:landscape) and (max-height:600px){.messages{gap:4px;padding:6px 8px 120px}.message{gap:4px;margin-bottom:0}.message-avatar{height:24px;min-width:24px;width:24px}.message-bubble{border-radius:12px;font-size:14px;line-height:1.3;padding:8px 10px}.message-meta{font-size:9px}}@media (max-width:768px){.message-bubble{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}@supports (-webkit-touch-callout:none){.message-bubble{-webkit-touch-callout:default;-webkit-user-select:text}}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.html-table-container td,.html-table-container th{-webkit-font-smoothing:subpixel-antialiased;font-smooth:always;text-shadow:0 0 1px #00000003}}.message-documents{display:flex;flex-direction:column;gap:8px;margin-top:16px}.message-document{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px;transition:all .2s ease}.message-document:hover{background:#e9ecef;border-color:#dee2e6;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.document-info{flex:1 1;gap:12px}.document-icon,.document-info{align-items:center;display:flex}.document-icon{background:#fff;border:1px solid #dee2e6;border-radius:6px;font-size:24px;height:32px;justify-content:center;width:32px}.document-name{color:#495057;font-size:14px;font-weight:500;word-break:break-word}.document-actions{display:flex;gap:8px}.download-btn{align-items:center;background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.download-btn:hover{background:#0056b3;box-shadow:0 2px 6px #007bff4d;color:#fff;text-decoration:none;transform:translateY(-1px)}.download-btn:active{transform:translateY(0)}@media (prefers-color-scheme:dark){.message-document{background:#2d3748;border-color:#4a5568}.document-icon,.message-document:hover{background:#374151;border-color:#6b7280}.document-name{color:#e2e8f0}}.general-chat-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.general-chat-overlay:has(.fullscreen){background:#000000e6;padding:0}.general-chat-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;height:80vh;max-height:600px;max-width:800px;overflow:hidden;transition:all .3s ease;width:100%}.general-chat-modal.fullscreen{border-radius:0;box-shadow:none;height:100vh;max-height:none;max-width:none;width:100vw}.general-chat-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.general-chat-header h2{color:#111827;font-size:20px;font-weight:600;margin:0}.header-buttons{align-items:center;display:flex;gap:16px}.general-chat-clear,.general-chat-close{align-items:center;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.general-chat-clear{background:#fef2f2;border:1px solid #fecaca}.general-chat-clear:hover{background:#fee2e2;color:#dc2626}.general-chat-expand{background:#f0f9ff;border:1px solid #bfdbfe}.general-chat-expand:hover{background:#dbeafe;color:#1d4ed8}.general-chat-close{background:#f3f4f6}.general-chat-close:hover{background:#e5e7eb;color:#374151}.general-chat-messages{background:#f8fafc;padding:0}.general-chat-messages,.general-chat-messages .messages{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.general-chat-messages .messages{background:#0000;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:12px;padding:20px!important;scroll-behavior:smooth}@media (max-width:1024px){.general-chat-messages .messages{gap:10px;padding:16px!important}}@media (max-width:768px){.general-chat-messages .messages{gap:8px;padding:12px!important}}@media (max-width:480px){.general-chat-messages .messages{gap:6px;padding:8px!important}}.general-chat-messages .message-bubble{word-wrap:break-word!important;box-sizing:border-box;-webkit-hyphens:auto;hyphens:auto;max-width:100%!important;overflow-wrap:break-word!important;white-space:pre-wrap!important;word-break:break-word!important}.general-chat-modal.fullscreen .general-chat-messages{padding:24px}.general-chat-modal.fullscreen .general-chat-messages .messages{gap:16px;padding:24px!important}.general-chat-modal.fullscreen .general-chat-messages .message{max-width:70%!important}.general-chat-modal.fullscreen .general-chat-input{padding:20px 32px}.general-chat-modal.fullscreen .input-container textarea{font-size:16px;max-height:200px}.general-chat-messages .messages{scroll-padding-bottom:20px}.general-chat-messages .message{flex-shrink:0;max-width:80%!important}.general-chat-messages .message.user{margin-left:auto;margin-right:0}.general-chat-messages .message.assistant{margin-left:0;margin-right:auto}.general-chat-messages>div:last-child{height:0;overflow:hidden}.empty-chat-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.empty-chat-state h3{color:#374151;font-size:18px;font-weight:600;margin:0 0 8px}.empty-chat-state p{font-size:14px;margin:0}.general-chat-input{background:#fff;border-top:1px solid #e5e7eb;padding:16px 24px}.selected-file{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:12px;padding:8px 12px}.selected-file button{background:none;border:none;color:#6b7280;cursor:pointer;padding:2px}.selected-file button:hover{color:#374151}.input-container{align-items:flex-end;background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;display:flex;gap:8px;padding:8px}.attachment-btn,.send-btn,.voice-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s ease;width:36px}.attachment-btn{background:#f3f4f6;color:#6b7280}.attachment-btn:hover{background:#e5e7eb;color:#374151}.voice-btn{background:#f3f4f6;color:#6b7280}.voice-btn:hover{background:#e5e7eb;color:#374151}.voice-btn.recording{animation:pulse 1.5s infinite;background:#ef4444;color:#fff}.send-btn{background:#3b82f6;color:#fff}.send-btn:hover:not(:disabled){background:#2563eb}.send-btn:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.input-container textarea{background:#0000;border:none;flex:1 1;font-family:inherit;font-size:14px;line-height:1.5;max-height:120px;min-height:20px;outline:none;overflow-y:auto;padding:8px 12px;resize:none;scrollbar-color:#cbd5e1 #f1f5f9;scrollbar-width:thin}.input-container textarea::-webkit-scrollbar{width:4px}.input-container textarea::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.input-container textarea::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.input-container textarea::-webkit-scrollbar-thumb:hover{background:#94a3b8}.input-container textarea::placeholder{color:#9ca3af}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.general-chat-overlay{padding:10px}.general-chat-modal{border-radius:12px;height:90vh;max-height:none}.general-chat-header{padding:16px 20px}.general-chat-header h2{font-size:18px}.general-chat-messages{padding:16px}.general-chat-input{padding:12px 16px}.general-chat-modal.fullscreen{border-radius:0}.general-chat-modal.fullscreen .general-chat-messages{padding:16px}.general-chat-modal.fullscreen .general-chat-messages .messages{padding:16px!important}.general-chat-modal.fullscreen .general-chat-input{padding:16px 20px}}.general-chat-messages::-webkit-scrollbar{width:6px}.general-chat-messages::-webkit-scrollbar-track{background:#f1f5f9}.general-chat-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.general-chat-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}:root{--primary-color:#667eea;--primary-hover:#5a6fd8;--primary-light:#e0e7ff;--secondary-color:#764ba2;--accent-color:#2196f3;--accent-secondary:#1976d2;--accent-dark:#1565c0;--success-color:#000794;--danger-color:#f56565;--warning-color:#f6ad55;--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-gradient:linear-gradient(135deg,#667eea,#764ba2);--bg-gradient-light:linear-gradient(135deg,#2196f3,#1976d2);--bg-gradient-soft:linear-gradient(135deg,#e0e7ff,#f0f4ff);--bg-chat:#fafbfc;--bg-dark:#1a202c;--bg-darker:#171923;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--text-light:#a0aec0;--text-white:#fff;--border-color:#e2e8f0;--border-hover:#cbd5e1;--border-focus:#667eea;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-colored:0 4px 15px #667eea40;--shadow-soft:0 2px 15px #00000014;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.2s cubic-bezier(0.4,0,0.2,1);--transition-slow:all 0.5s cubic-bezier(0.4,0,0.2,1);--transition-bounce:all 0.3s cubic-bezier(0.68,-0.55,0.265,1.55);--sidebar-width:340px;--mobile-header-height:60px;--mobile-input-height:80px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background:#f8fafc;color:#1f2937;font-size:14px;font-weight:400;line-height:1.6;overflow-x:hidden;-webkit-user-select:none;user-select:none}body,h1,h2,h3,h4,h5,h6{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h2,h3,h4,h5,h6{color:#111827;font-weight:600;line-height:1.4;margin:0}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{color:#374151;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;margin:0}a{color:#1e3a8a;text-decoration:none;transition:color .2s ease}a:hover{color:#1d4ed8}button{font-weight:500}button,input,textarea{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{background:#f8fafc;display:flex;min-height:100vh;position:relative;width:100vw}.mobile-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px 0 #0000001a;display:none;height:60px;justify-content:space-between;left:0;padding:0 1rem;position:fixed;right:0;top:0;z-index:1001}.mobile-menu-btn{align-items:center;background:#f8fafc;border:none;border-radius:8px;color:#1f2937;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.mobile-menu-btn:hover{background:#f1f5f9}.mobile-title{color:#1f2937;flex:1 1;font-size:1.1rem;font-weight:600;margin:0 1rem;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mobile-overlay{background:#00000080;bottom:80px;display:none;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:999}.mobile-overlay.visible{opacity:1}button{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;margin:0;padding:0}button:disabled{cursor:not-allowed;opacity:.6}textarea{background:none;border:none;color:inherit;font-family:inherit;outline:none;resize:none}input::placeholder,textarea::placeholder{color:#9ca3af}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideOutToLeft{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){:root{--sidebar-width:280px}}@media (max-width:768px){.app{flex-direction:column}.mobile-header{display:flex}.mobile-overlay{display:block}body{-webkit-overflow-scrolling:touch;overflow:auto!important;overscroll-behavior:contain;-webkit-user-select:text;user-select:text}}@media (max-width:480px){:root{--sidebar-width:100vw;--mobile-header-height:56px;--mobile-input-height:70px}.mobile-title{font-size:1rem}.mobile-menu-btn{font-size:1.1rem;height:36px;width:36px}body{-webkit-overflow-scrolling:touch;overflow:auto!important;overscroll-behavior:contain}}@media (orientation:landscape) and (max-height:600px){:root{--mobile-header-height:50px;--mobile-input-height:60px}body{-webkit-overflow-scrolling:touch;overflow:auto!important;overscroll-behavior:contain}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.mobile-menu-btn,button{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}}@media (max-width:768px){body,html{-webkit-overflow-scrolling:touch!important;overflow:auto!important}.app,body{touch-action:manipulation!important}.app{overflow:hidden!important}.messages{-webkit-overflow-scrolling:touch!important;overflow-y:scroll!important;overscroll-behavior:contain!important;pointer-events:auto!important;touch-action:pan-y!important}}
/*# sourceMappingURL=main.5feea120.css.map*/