.login-container{align-items:center;background:linear-gradient(135deg,#6a11cb,#2575fc);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-container:before{animation:float 20s linear infinite;background:radial-gradient(circle,#ffffff1a 1px,#0000 0);background-size:50px 50px;content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%;z-index:0}@keyframes float{0%{transform:translate(0) rotate(0deg)}to{transform:translate(-50px,-50px) rotate(1turn)}}.login-box{animation:slideIn .6s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;box-shadow:0 25px 50px #00000026,inset 0 1px 0 #ffffff4d;max-width:420px;padding:48px 40px;position:relative;width:100%;z-index:1}.login-header{margin-bottom:40px;text-align:center}.login-logo{gap:12px;margin-bottom:20px}.login-logo,.logo-icon{align-items:center;display:flex;justify-content:center}.logo-icon{background:linear-gradient(135deg,#6a11cb,#2575fc);border-radius:12px;box-shadow:0 4px 12px #6a11cb4d;color:#fff;font-size:24px;font-weight:700;height:48px;width:48px}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6a11cb,#2575fc);-webkit-background-clip:text;background-clip:text}.login-header h2,.logo-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:28px}.login-header h2{color:#1a1a1a;font-weight:600;margin-bottom:8px}.login-subtitle{color:#666;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;margin-top:8px}.login-form{display:flex;flex-direction:column;gap:24px}.form-group{position:relative}.form-label{color:#333;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;margin-bottom:8px}.input-wrapper{position:relative}.input-icon{color:#6a11cb;font-size:18px;left:16px;position:absolute;top:50%;transform:translateY(-50%)}.login-input{background:#fff;border:2px solid #e1e5e9;border-radius:12px;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;padding:16px 16px 16px 48px;transition:all .3s;width:100%}.login-input:focus{border-color:#6a11cb;box-shadow:0 0 0 3px #6a11cb1a;outline:none}.login-input::placeholder{color:#a0aec0}.password-toggle{color:#6a11cb}.password-toggle:hover{color:#2575fc}.remember-forgot{align-items:center;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;justify-content:space-between}.remember-me{gap:8px;-webkit-user-select:none;user-select:none}.checkbox,.remember-me{align-items:center;cursor:pointer;display:flex}.checkbox{border:2px solid #6a11cb;border-radius:4px;color:#fff;font-size:12px;height:18px;justify-content:center;transition:all .2s;width:18px}.checkbox.checked{background:#6a11cb;border-color:#6a11cb}.forgot-link{color:#6a11cb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;text-decoration:none;transition:color .3s}.forgot-link:hover{color:#2575fc;text-decoration:underline}.login-button{align-items:center;background:linear-gradient(135deg,#6a11cb,#2575fc);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:600;gap:10px;justify-content:center;margin-top:8px;padding:18px;transition:all .3s}.login-button:hover:not(:disabled){box-shadow:0 8px 25px #6a11cb66;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.6}.button-icon{font-size:20px}.login-divider{align-items:center;color:#a0aec0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:24px 0}.divider-line{background:#e1e5e9;flex:1 1;height:1px}.divider-text{font-size:14px;padding:0 16px;white-space:nowrap}.social-login{display:flex;gap:12px;margin-bottom:24px}.social-button{align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:12px;cursor:pointer;display:flex;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;gap:8px;justify-content:center;padding:14px;transition:all .3s}.social-button:hover{background:#f8f9ff;border-color:#6a11cb}.social-icon{font-size:20px}.social-button.google{color:#db4437}.social-button.github{color:#333}.switch-auth{color:#666;font-size:15px;margin-top:24px;text-align:center}.register-link,.switch-auth{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.register-link{background:none;border:none;border-radius:6px;color:#6a11cb;cursor:pointer;font-weight:600;padding:4px 8px;transition:all .3s}.register-link:hover{background:#6a11cb1a;text-decoration:underline}.login-error{align-items:center;animation:shake .5s;background:linear-gradient(135deg,#ff6b6b,#ff8e8e);border-radius:12px;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:10px;margin-bottom:20px;padding:14px 18px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.error-icon{font-size:20px}@media (max-width:480px){.login-box{margin:0 16px;padding:32px 24px}.social-login{flex-direction:column}.login-header h2,.logo-text{font-size:24px}.remember-forgot{align-items:flex-start;flex-direction:column;gap:12px}.forgot-link{align-self:flex-end}}.register-container{align-items:center;background:linear-gradient(135deg,#11998e,#38ef7d);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.register-container:before{animation:pulse 4s ease-in-out infinite;background:radial-gradient(circle at 20% 80%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff1a 0,#0000 50%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.register-box{animation:scaleIn .6s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;border:1px solid #fff3;border-radius:24px;box-shadow:0 25px 50px #00000026,inset 0 1px 0 #ffffff4d;max-width:440px;padding:48px 40px;position:relative;width:100%;z-index:1}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.register-header{margin-bottom:40px;text-align:center}.register-logo{gap:12px;margin-bottom:20px}.register-icon,.register-logo{align-items:center;display:flex;justify-content:center}.register-icon{border-radius:50%;box-shadow:0 4px 12px #11998e4d;color:#fff;font-size:24px;height:48px;width:48px}.register-icon,.register-text{background:linear-gradient(135deg,#11998e,#38ef7d);font-weight:700}.register-text{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:28px}.register-header h2{color:#1a1a1a;font-size:28px;font-weight:600;margin-bottom:8px}.register-subtitle{color:#666;font-size:15px;margin-top:8px}.progress-steps{display:flex;justify-content:space-between;margin-bottom:32px;position:relative}.progress-steps:before{background:#e1e5e9;content:"";right:0;z-index:0}.progress-bar,.progress-steps:before{height:2px;left:0;position:absolute;top:15px}.progress-bar{background:#11998e;transition:width .3s;z-index:1}.step{flex-direction:column;gap:8px;position:relative;z-index:2}.step,.step-circle{align-items:center;display:flex}.step-circle{background:#fff;border:2px solid #e1e5e9;border-radius:50%;color:#a0aec0;font-weight:600;height:32px;justify-content:center;transition:all .3s;width:32px}.step.active .step-circle{background:#11998e;border-color:#11998e;color:#fff}.step-label{color:#a0aec0;font-size:12px;font-weight:500}.step.active .step-label{color:#11998e}.register-form{display:flex;flex-direction:column;gap:20px}.register-group{position:relative}.register-label{align-items:center;color:#333;display:block;display:flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:8px}.required{color:#ff4757;font-size:12px}.register-input-wrapper{position:relative}.register-input-icon{color:#11998e;font-size:18px;left:16px;position:absolute;top:50%;transform:translateY(-50%)}.register-input{background:#fff;border:2px solid #e1e5e9;border-radius:12px;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;padding:16px 16px 16px 48px;transition:all .3s;width:100%}.register-input:focus{border-color:#11998e;box-shadow:0 0 0 3px #11998e1a;outline:none}.register-input::placeholder{color:#a0aec0}.password-toggle{align-items:center;background:none;border:none;color:#11998e;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;padding:4px;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:24px}.password-toggle:hover{color:#38ef7d}.password-strength{font-size:13px;margin-top:8px}.strength-bar{background:#e1e5e9;border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.strength-fill{background:#ff4757;height:100%;transition:width .3s}.strength-weak .strength-fill{background:#ff4757;width:25%}.strength-medium .strength-fill{background:#ffa502;width:50%}.strength-strong .strength-fill{background:#2ed573;width:75%}.strength-text{color:#666;font-size:12px;margin-top:2px}.password-rules{color:#666;font-size:13px;margin-top:12px}.rule{align-items:center;display:flex;gap:8px;margin-bottom:6px}.rule.valid{color:#2ed573}.rule.invalid{color:#ff4757}.rule-icon{display:inline-flex;justify-content:center;width:16px}.register-options,.rule-icon{align-items:center;font-size:14px}.register-options{display:flex;gap:12px}.terms-checkbox{align-items:flex-start;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.terms-checkbox .checkbox{align-items:center;border:2px solid #11998e;border-radius:4px;color:#fff;display:flex;flex-shrink:0;font-size:12px;height:18px;justify-content:center;margin-top:2px;transition:all .2s;width:18px}.terms-checkbox .checkbox.checked{background:#11998e}.terms-link{background:none;border:none;color:#11998e;cursor:pointer;font-size:inherit;font-weight:500;padding:0;text-decoration:none}.terms-link:hover{text-decoration:underline}.register-buttons{display:flex;gap:12px;margin-top:8px}.register-button{align-items:center;background:linear-gradient(135deg,#11998e,#38ef7d);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:18px;transition:all .3s}.register-button:hover:not(:disabled){box-shadow:0 8px 25px #11998e66;transform:translateY(-2px)}.register-button:disabled{cursor:not-allowed;opacity:.6}.register-button.secondary{background:#e1e5e9;color:#333}.register-button.secondary:hover:not(:disabled){background:#c8ced4;box-shadow:0 8px 25px #0000001a}.register-button-icon{font-size:20px}.register-divider{align-items:center;color:#a0aec0;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:24px 0}.register-divider-line{background:#e1e5e9;flex:1 1;height:1px}.register-divider-text{font-size:14px;padding:0 16px;white-space:nowrap}.social-register{display:flex;gap:12px;margin-bottom:24px}.social-register-button{align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:12px;cursor:pointer;display:flex;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;gap:8px;justify-content:center;padding:14px;transition:all .3s}.social-register-button:hover{background:#f0fff4;border-color:#11998e}.social-register-icon{font-size:20px}.switch-to-login{color:#666;font-size:15px;margin-top:24px;text-align:center}.login-link,.switch-to-login{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-link{background:none;border:none;border-radius:6px;color:#11998e;cursor:pointer;font-weight:600;padding:4px 8px;transition:all .3s}.login-link:hover{background:#11998e1a;text-decoration:underline}.register-message{align-items:center;animation:fadeIn .5s;border-radius:12px;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:10px;margin-bottom:20px;padding:14px 18px}.message-error{background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:#fff}.message-success{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.message-icon{font-size:20px}@media (max-width:480px){.register-box{margin:0 16px;padding:32px 24px}.social-register{flex-direction:column}.register-header h2,.register-text{font-size:24px}.progress-steps{align-items:flex-start;flex-direction:column;gap:16px}.progress-bar,.progress-steps:before{display:none}.step{flex-direction:row;gap:12px}.register-buttons{flex-direction:column}}.header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 6px #0000001a;gap:15px;padding:15px 30px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.menu-toggle{align-items:center;background:#fff3;border:2px solid #ffffff80;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.menu-toggle:hover{background:#ffffff4d;border-color:#fff;transform:scale(1.1)}.logo{border-radius:8px;box-shadow:0 2px 4px #0003;height:auto;width:100px}.header-info{flex-grow:1;margin-left:20px}.header-info h1{font-weight:700;margin:0}.header-info p{font-size:.9rem;margin:5px 0 0}.admin-link{align-items:center;background:#ffc107;border-radius:6px;color:#212529;display:flex;font-weight:700;gap:8px;padding:8px 16px;text-decoration:none;transition:all .3s ease}.admin-link:hover{background:#e0a800;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.user-role-badge{border-radius:4px;font-size:14px;font-weight:700;padding:6px 12px;text-transform:uppercase}.user-role-badge.admin{background:#28a745;color:#fff}.user-role-badge.user{background:#6c757d;color:#fff}.logout-button{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px;transition:all .3s ease}.logout-button:hover{background:#c82333;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.header-actions{align-items:center;flex-shrink:0;gap:12px}.back-button{background:#fff3;border:2px solid #ffffff80;border-radius:6px;font-size:.9rem;font-weight:700;padding:8px 16px}.back-button:hover{background:#ffffff4d;border-color:#fff;box-shadow:0 4px 8px #0003}@media (max-width:768px){.header{flex-direction:column;padding:15px;text-align:center}.header-info{margin:15px 0}.logo-container{margin-bottom:10px}.header-actions{justify-content:center;margin-top:10px;width:100%}.admin-link,.back-button,.logout-button,.user-role-badge{font-size:.85rem;margin:5px;padding:8px 12px}}.chat-widget{bottom:20px;position:fixed;right:20px;z-index:9999}.chat-toggle{align-items:center;animation:attention-pulse 2s infinite;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:60px;justify-content:center;position:relative;transition:all .3s ease;width:60px}@keyframes attention-pulse{0%{box-shadow:0 0 0 0 #007bffb3,0 5px 15px #007bff66;transform:scale(1)}50%{box-shadow:0 0 0 15px #007bff00,0 8px 25px #007bff99;transform:scale(1.08)}to{box-shadow:0 0 0 0 #007bff00,0 5px 15px #007bff66;transform:scale(1)}}.chat-toggle:hover{animation:none;background:linear-gradient(135deg,#0056b3,#004494);box-shadow:0 0 20px #007bffcc,0 10px 30px #007bff80;transform:scale(1.1)}@media (max-width:480px){.chat-toggle{animation:attention-pulse-mobile 1.5s infinite;font-size:30px;height:65px;width:65px}@keyframes attention-pulse-mobile{0%{box-shadow:0 0 0 0 #007bffcc;transform:scale(1)}50%{box-shadow:0 0 0 20px #007bff00;transform:scale(1.1)}to{box-shadow:0 0 0 0 #007bff00;transform:scale(1)}}}.chat-toggle:hover{box-shadow:0 6px 20px #007bff66;transform:scale(1.05)}.chat-toggle:active{transform:scale(.98)}.chat-box{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;height:500px;overflow:hidden;transition:opacity .3s ease,visibility .3s ease;width:350px}.chat-box.open{animation:slideIn .3s ease-out;opacity:1;visibility:visible}.chat-box.closed{opacity:0;pointer-events:none;visibility:hidden}.chat-header{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;padding:15px 20px}.chat-header h3{font-size:18px;font-weight:600;margin:0}.chat-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;padding:0;transition:background .2s;width:30px}.chat-close:hover{background:#ffffff4d}@media (max-width:480px){.chat-widget{bottom:15px;right:15px}.chat-box{bottom:80px;height:70vh;max-height:500px;right:15px;width:calc(100vw - 30px)}.chat-toggle{font-size:24px;height:55px;width:55px}}@media (prefers-color-scheme:dark){.chat-box{background:#1e1e1e;border:1px solid #444}}.admin-dashboard{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.dashboard-header{align-items:center;background:#fff;border-radius:15px;box-shadow:0 6px 20px #00000014;display:flex;justify-content:space-between;margin-bottom:30px;padding:25px}.header-left h1{align-items:center;color:#2c3e50;display:flex;font-size:2.2rem;gap:15px;margin:0}.header-subtitle{color:#7f8c8d;font-size:1rem;font-weight:400;margin:8px 0 0}.header-actions{display:flex;gap:15px}.action-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.action-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stats-btn{background:#3498db;color:#fff;font-size:18px;padding:12px 16px}.refresh-btn{background:#2ecc71;color:#fff}.logout-btn{align-items:center;background:#e74c3c;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.logout-btn:hover{background:#c0392b;box-shadow:0 4px 12px #e74c3c66;transform:translateY(-2px)}.logout-btn:active{transform:translateY(0)}.admin-message{align-items:center;animation:slideIn .3s ease;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:25px;padding:15px 20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-message.error{background:#ffeaea;border:1px solid #f5c6cb;color:#c0392b}.admin-message.success{background:#e8f6ef;border:1px solid #c8e6c9;color:#27ae60}.close-message{background:none;border:none;color:inherit;cursor:pointer;font-size:20px;line-height:1;opacity:.7;padding:0 0 0 10px}.close-message:hover{opacity:1}.dashboard-nav{border-radius:12px;box-shadow:0 4px 6px #0000000d;gap:10px;margin-bottom:25px;padding:15px}.dashboard-nav,.nav-btn{background:#fff;display:flex}.nav-btn{align-items:center;border:2px solid #e0e0e0;border-radius:8px;color:#555;cursor:pointer;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.nav-btn:hover:not(:disabled){border-color:#3498db;color:#3498db;transform:translateY(-1px)}.nav-btn.active{background:#3498db;border-color:#3498db;color:#fff}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.search-bar{margin-bottom:25px;position:relative}.search-input{background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237f8c8d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 20px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;padding:16px 20px 16px 50px;transition:all .3s ease;width:100%}.search-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db33;outline:none}.search-count{background:#3498db;border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:4px 12px;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.dashboard-main{animation:fadeIn .5s ease;background:#fff;border-radius:15px;box-shadow:0 6px 20px #00000014;min-height:500px;padding:30px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stats-view h2{color:#2c3e50;font-size:1.8rem;margin-bottom:25px}.stats-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.stat-card{border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;overflow:hidden;padding:25px;position:relative;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-card.primary{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.success{background:linear-gradient(135deg,#4caf50,#8bc34a)}.stat-card.warning{background:linear-gradient(135deg,#ff9800,#ffc107)}.stat-card.info{background:linear-gradient(135deg,#00bcd4,#0097a7)}.stat-icon{font-size:3rem;margin-bottom:15px;opacity:.9}.stat-content h3{font-size:1.2rem;font-weight:600;margin:0 0 10px}.stat-number{font-size:2.5rem;font-weight:700;margin:10px 0;text-shadow:2px 2px 4px #0000001a}.stat-details{display:flex;flex-direction:column;font-size:.9rem;gap:5px;margin-top:15px;opacity:.9}.stat-detail.admin,.stat-detail.user{background:#fff3;border-radius:4px;display:inline-block;padding:4px 8px;width:-webkit-fit-content;width:fit-content}.loading-stats,.loading-users{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:50px;margin-bottom:20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.users-view h2{color:#2c3e50;font-size:1.8rem;margin-bottom:25px}.users-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.user-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 15px #00000014;padding:20px;transition:all .3s ease}.user-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-3px)}.user-header{display:flex;gap:15px;margin-bottom:15px}.user-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:24px;font-weight:700;height:60px;justify-content:center;width:60px}.user-info{flex:1 1}.user-email{color:#2c3e50;font-size:1.1rem;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta{align-items:center;display:flex;gap:10px;margin-bottom:8px}.role-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:4px 12px}.role-badge.admin{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.role-badge.user{background:linear-gradient(135deg,#4caf50,#8bc34a);color:#fff}.user-id{color:#7f8c8d;font-family:monospace;font-size:.8rem}.user-date{align-items:center;color:#7f8c8d;display:flex;font-size:.85rem;gap:5px}.user-stats{border-bottom:1px solid #eee;border-top:1px solid #eee;display:flex;justify-content:space-between;margin:15px 0;padding:15px 0}.stat-item{align-items:center;display:flex;flex-direction:column;gap:5px}.stat-label{color:#7f8c8d;font-size:.85rem}.stat-value{color:#2c3e50;font-size:1.2rem;font-weight:700}.status-indicator{border-radius:20px;font-size:.8rem;font-weight:600;padding:4px 12px}.status-indicator.active{background:#d4edda;color:#155724}.status-indicator.inactive{background:#f8d7da;color:#721c24}.user-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.user-actions .action-btn{flex:1 1;font-size:13px;min-width:120px;padding:10px 15px}.action-btn.view-chats{background:#3498db;color:#fff}.action-btn.promote{background:#f39c12;color:#fff}.action-btn.demote{background:#95a5a6;color:#fff}.action-btn.delete{background:#e74c3c;color:#fff}.btn-icon{font-size:16px}.chats-view h2{color:#2c3e50;font-size:1.8rem;margin-bottom:10px}.chats-count{color:#7f8c8d;display:block;font-size:1rem;margin-bottom:20px}.chats-list{display:flex;flex-direction:column;gap:15px}.chat-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s ease}.chat-card:hover{border-color:#3498db;box-shadow:0 4px 15px #3498db1a}.chat-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.chat-title-section{flex:1 1}.chat-title{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-meta{color:#7f8c8d;display:flex;font-size:.85rem;gap:15px}.chat-id{background:#f8f9fa;border-radius:20px;color:#495057;font-family:monospace;font-size:.8rem;padding:4px 12px}.chat-actions{display:flex;gap:10px}.chat-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:10px 15px;transition:all .3s ease}.chat-btn:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.chat-btn.view-messages{background:#3498db;color:#fff}.chat-btn.edit-title{background:#f39c12;color:#fff}.chat-btn.delete-chat{background:#e74c3c;color:#fff}.messages-view h2{color:#2c3e50;font-size:1.8rem;margin:0 0 10px}.messages-header{border-bottom:2px solid #eee;gap:20px;margin-bottom:25px;padding-bottom:15px}.back-button,.messages-header{align-items:center;display:flex}.back-button{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.back-button:hover{background:#5a6268;transform:translateY(-2px)}.header-content{flex:1 1}.chat-info{display:flex;flex-wrap:wrap;gap:20px;margin-top:10px}.info-item{align-items:center;background:#f8f9fa;border-radius:20px;color:#495057;display:flex;font-size:.85rem;gap:5px;padding:6px 12px}.messages-list{display:flex;flex-direction:column;gap:20px;max-height:600px;overflow-y:auto;padding-right:10px}.message-item{animation:fadeIn .5s ease;border-radius:12px;padding:20px;position:relative}.message-item.user{background:#e3f2fd;border-left:4px solid #2196f3}.message-item.assistant{background:#f1f8e9;border-left:4px solid #4caf50}.message-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.message-sender{gap:10px}.message-sender,.sender-icon{align-items:center;display:flex}.sender-icon{background:#fff;border-radius:50%;font-size:20px;height:32px;justify-content:center;width:32px}.sender-icon.user{color:#2196f3}.sender-icon.assistant{color:#4caf50}.sender-role{color:#2c3e50;font-weight:600}.message-time{color:#7f8c8d;font-size:.85rem}.message-content{color:#333;line-height:1.6;margin-bottom:10px;white-space:pre-wrap;word-break:break-word}.message-footer{align-items:center;border-top:1px solid #0000001a;color:#7f8c8d;display:flex;font-size:.85rem;justify-content:space-between;padding-top:10px}.message-index{background:#0000000d;border-radius:10px;font-weight:600;padding:2px 8px}.chats-view.empty,.messages-view.empty,.no-selection,.no-users{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-icon,.no-data-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.chats-view.empty h3,.messages-view.empty h3,.no-selection p,.no-users h3{color:#7f8c8d;margin:10px 0}.chats-view.empty p,.messages-view.empty p,.no-users p{color:#95a5a6;line-height:1.5;max-width:400px}.dashboard-footer{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;display:flex;justify-content:space-between;margin-top:30px;padding:20px}.footer-info{display:flex;flex-wrap:wrap;gap:30px}.footer-info span{color:#2c3e50;font-weight:500}.footer-btn,.footer-info span{align-items:center;display:flex;gap:8px}.footer-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.footer-btn:hover{background:#5a6268;transform:translateY(-2px)}.admin-access-denied{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:40px;text-align:center}.admin-access-denied h2{color:#c0392b;font-size:2.5rem;margin-bottom:20px}.admin-access-denied p{color:#7f8c8d;font-size:1.2rem;line-height:1.6;margin-bottom:30px;max-width:500px}.go-home-btn{align-items:center;background:#3498db;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:10px;padding:15px 30px;transition:all .3s ease}.go-home-btn:hover{background:#2980b9;box-shadow:0 4px 12px #3498db4d;transform:translateY(-2px)}.messages-list::-webkit-scrollbar{width:8px}.messages-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.messages-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.messages-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width:1200px){.users-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:20px;text-align:center}.header-actions{justify-content:center;width:100%}.dashboard-nav{flex-wrap:wrap;justify-content:center}.users-grid{grid-template-columns:1fr}.chat-actions,.footer-info{flex-direction:column}.footer-info{gap:15px;margin-bottom:15px}.dashboard-footer{flex-direction:column;text-align:center}.stats-grid{grid-template-columns:1fr}.chat-header{flex-direction:column;gap:10px}.chat-id{align-self:flex-start}.messages-header{align-items:flex-start;flex-direction:column;gap:15px}}@media (max-width:480px){.admin-dashboard{padding:10px}.dashboard-footer,.dashboard-header,.dashboard-main{padding:15px}.header-left h1{font-size:1.8rem}.action-btn,.nav-btn{font-size:14px;padding:10px 15px}.search-input{background-position:10px;font-size:14px;padding:14px 14px 14px 40px}.chat-info{flex-direction:column;gap:10px}}.messages-list{scrollbar-color:#c1c1c1 #f1f1f1;scrollbar-width:thin}@media print{.admin-dashboard{background:#fff;padding:0}.action-btn,.back-button,.chat-btn,.dashboard-footer,.dashboard-header,.dashboard-nav,.footer-btn,.go-home-btn,.search-bar{display:none}.dashboard-main{box-shadow:none;padding:0}.message-item{break-inside:avoid;page-break-inside:avoid}}.ingestion-view{animation:fadeIn .5s ease}.ingestion-container{display:flex;gap:30px;min-height:600px}.ingestion-controls,.job-history{background:#fff;border:1px solid #e0e0e0;border-radius:15px;box-shadow:0 4px 15px #00000014;flex:1 1;padding:30px}.job-history{max-height:700px;overflow-y:auto}.ingestion-type-selector{background:#f8f9fa;border-radius:12px;display:flex;gap:10px;margin-bottom:30px;padding:10px}.ingestion-type-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;color:#495057;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:15px 20px;transition:all .3s ease}.ingestion-type-btn:hover{border-color:#3498db;color:#3498db;transform:translateY(-2px)}.ingestion-type-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 12px #667eea33;color:#fff}.ingestion-common-settings,.ingestion-document-form,.ingestion-website-form{border-bottom:2px solid #f1f1f1;margin-bottom:30px;padding-bottom:30px}.ingestion-common-settings h3,.ingestion-document-form h3,.ingestion-website-form h3{align-items:center;color:#2c3e50;display:flex;font-size:1.3rem;gap:10px;margin-bottom:20px}.ingestion-form-group{margin-bottom:20px}.ingestion-form-group label{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.ingestion-form-group input,.ingestion-form-group select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#495057;font-size:14px;padding:12px 15px;transition:all .3s ease;width:100%}.ingestion-form-group input:focus,.ingestion-form-group select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.ingestion-form-row{display:flex;gap:20px;margin-bottom:20px}.ingestion-form-row .ingestion-form-group{flex:1 1;margin-bottom:0}.ingestion-checkbox-group{margin-top:15px}.ingestion-checkbox-group label{align-items:center;color:#495057;cursor:pointer;display:flex;font-weight:500;gap:10px}.ingestion-checkbox-group input[type=checkbox]{cursor:pointer;height:18px;width:18px}.ingestion-checkbox-group span{align-items:center;display:flex;gap:8px}.ingestion-file-upload-area{background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border:3px dashed #667eea;border-radius:12px;margin:20px 0;padding:40px 20px;text-align:center;transition:all .3s ease}.ingestion-file-upload-area:hover{background:linear-gradient(135deg,#f1f8e9,#e8f5e9);border-color:#4caf50}.ingestion-file-upload-label{cursor:pointer;display:block}.ingestion-upload-icon{color:#667eea;font-size:48px;margin-bottom:15px}.ingestion-upload-hint{color:#7f8c8d;font-size:13px;margin-top:5px}.ingestion-selected-files{margin-top:25px;text-align:left}.ingestion-selected-files h4{color:#2c3e50;font-size:1.1rem;margin-bottom:15px}.ingestion-selected-files ul{background:#f8f9fa;border-radius:8px;list-style:none;max-height:200px;overflow-y:auto;padding:15px}.ingestion-selected-files li{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:12px;margin-bottom:10px;padding:12px;transition:all .3s ease}.ingestion-selected-files li:hover{border-color:#3498db;transform:translateX(5px)}.ingestion-file-icon{align-items:center;background:#e3f2fd;border-radius:8px;color:#2196f3;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.ingestion-file-name{color:#2c3e50;flex:1 1;font-weight:500}.ingestion-file-size{color:#7f8c8d;font-family:monospace;font-size:12px}.ingestion-ocr-settings{background:#f8f9fa;border-radius:12px;margin:25px 0;padding:20px}.ingestion-ocr-settings h4{align-items:center;color:#2c3e50;display:flex;font-size:1.1rem;gap:10px;margin-bottom:15px}.ingestion-upload-progress{margin:20px 0}.ingestion-upload-progress p{align-items:center;color:#667eea;display:flex;font-weight:600;gap:10px;margin-top:10px}.ingestion-progress-bar{background:#e9ecef;border-radius:5px;height:10px;margin:10px 0;overflow:hidden;width:100%}.ingestion-progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:5px;height:100%;transition:width .5s ease}.ingestion-start-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:12px;justify-content:center;letter-spacing:.5px;margin-top:20px;padding:18px;text-transform:uppercase;transition:all .3s ease;width:100%}.ingestion-start-btn:hover:not(:disabled){box-shadow:0 6px 20px #00000026;transform:translateY(-3px)}.ingestion-start-btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}.ingestion-start-btn.website{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ingestion-start-btn.document{background:linear-gradient(135deg,#4caf50,#8bc34a);color:#fff}.ingestion-job-history-header{align-items:center;border-bottom:2px solid #f1f1f1;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.ingestion-job-history-header h3{align-items:center;color:#2c3e50;display:flex;font-size:1.4rem;gap:10px;margin:0}.ingestion-refresh-jobs-btn{align-items:center;background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.ingestion-refresh-jobs-btn:hover{background:#2980b9;box-shadow:0 4px 12px #3498db33;transform:translateY(-2px)}.ingestion-jobs-list{display:flex;flex-direction:column;gap:15px}.ingestion-job-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.ingestion-job-card:hover{border-color:#3498db;box-shadow:0 6px 20px #3498db1a;transform:translateY(-3px)}.ingestion-job-card:before{background:#e0e0e0;bottom:0;content:"";left:0;position:absolute;top:0;width:5px}.ingestion-job-card.status-completed:before{background:linear-gradient(180deg,#4caf50,#8bc34a)}.ingestion-job-card.status-failed:before{background:linear-gradient(180deg,#f44336,#e53935)}.ingestion-job-card.status-crawling:before,.ingestion-job-card.status-embedding:before,.ingestion-job-card.status-extracting:before,.ingestion-job-card.status-processing:before,.ingestion-job-card.status-queued:before,.ingestion-job-card.status-uploading:before{background:linear-gradient(180deg,#2196f3,#1976d2)}.ingestion-job-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.ingestion-job-type{align-items:center;color:#2c3e50;display:flex;font-size:14px;font-weight:700;gap:8px}.ingestion-job-status{align-items:center;background:#f8f9fa;border-radius:20px;color:#495057;display:flex;font-size:12px;font-weight:600;gap:5px;padding:6px 12px}.ingestion-job-body{margin:15px 0}.ingestion-job-info{margin-bottom:15px}.ingestion-job-info p{color:#6c757d;font-size:13px;margin:8px 0}.ingestion-job-info strong{color:#2c3e50;display:inline-block;min-width:80px}.ingestion-job-target{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingestion-job-progress{margin:15px 0}.ingestion-job-progress span{color:#667eea;display:block;font-size:12px;font-weight:600;margin-top:5px;text-align:center}.ingestion-job-stats{border-top:1px solid #f1f1f1;display:flex;flex-wrap:wrap;gap:15px;margin-top:15px;padding-top:15px}.ingestion-job-stats span{align-items:center;background:#e3f2fd;border-radius:20px;color:#1976d2;display:flex;font-size:12px;font-weight:600;gap:5px;padding:6px 12px}.ingestion-job-actions{display:flex;gap:10px;margin-top:15px}.ingestion-job-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:10px 15px;transition:all .3s ease}.ingestion-job-btn:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.ingestion-status-btn{background:#e3f2fd;color:#1976d2}.ingestion-status-btn:hover{background:#bbdefb}.ingestion-cancel-btn{background:#ffebee;color:#d32f2f}.ingestion-cancel-btn:hover{background:#ffcdd2}.ingestion-no-jobs{align-items:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.ingestion-no-data-icon{color:#6c757d;font-size:4rem;margin-bottom:20px;opacity:.3}.ingestion-no-jobs p{color:#6c757d;font-size:1.1rem;margin:0}@media (max-width:1200px){.ingestion-container{flex-direction:column;gap:20px}.ingestion-controls,.job-history{flex:none;max-height:none;width:100%}}@media (max-width:768px){.ingestion-form-row{flex-direction:column;gap:15px}.ingestion-job-header{align-items:flex-start;flex-direction:column;gap:10px}.ingestion-job-actions,.ingestion-job-stats{flex-direction:column}.ingestion-job-stats{gap:10px}.ingestion-selected-files li{align-items:flex-start;flex-direction:column;gap:8px}.ingestion-file-icon{height:35px;width:35px}}@media (max-width:480px){.ingestion-controls,.job-history{padding:20px}.ingestion-type-selector{flex-direction:column}.ingestion-job-history-header{align-items:flex-start;flex-direction:column;gap:15px}.ingestion-refresh-jobs-btn{justify-content:center;width:100%}.ingestion-start-btn{font-size:14px;padding:15px}}@keyframes ingestion-pulse{0%,to{opacity:1}50%{opacity:.5}}.ingestion-job-card.status-processing .ingestion-job-status{animation:ingestion-pulse 2s infinite}.job-history::-webkit-scrollbar{width:8px}.job-history::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.job-history::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.job-history::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.job-history{scrollbar-color:#c1c1c1 #f1f1f1;scrollbar-width:thin}.settings-panel{background:#fff;border-radius:15px;box-shadow:0 4px 15px #00000014;padding:30px}.settings-panel h2{align-items:center;color:#2c3e50;display:flex;font-size:1.8rem;gap:10px;margin:0 0 25px}.settings-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:10px;margin-bottom:30px;padding:25px}.settings-section h3{align-items:center;color:#34495e;display:flex;font-size:1.3rem;gap:8px;margin:0 0 10px}.settings-description{color:#6c757d;font-size:.95rem;line-height:1.5;margin-bottom:20px}.alert{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:8px;margin-bottom:20px;padding:12px 20px}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;display:block;font-size:1rem;font-weight:600;margin-bottom:8px}.form-select{background-color:#fff;border:2px solid #dee2e6;border-radius:8px;color:#495057;cursor:pointer;font-size:1rem;padding:12px 15px;transition:all .3s ease;width:100%}.form-select:hover{border-color:#adb5bd}.form-select:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a;outline:none}.style-instruction{background:#fff;border-left:4px solid #4a90e2;border-radius:5px;margin-top:15px;padding:15px}.style-instruction strong{color:#2c3e50;display:block;font-size:.95rem;margin-bottom:8px}.style-instruction p{color:#495057;font-size:.9rem;line-height:1.6;margin:0}.settings-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;font-size:.9rem;line-height:1.5;margin-top:20px;padding:12px 15px}.settings-note strong{font-weight:600}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.app,body{min-height:100vh}.app{background:#fff;box-shadow:0 0 20px #0000001a;margin:0 auto;max-width:1200px}.header{align-items:center;background:linear-gradient(135deg,#1a237e,#283593);color:#fff;display:flex;gap:2rem;padding:2rem}.logo-container{flex-shrink:0}.logo-placeholder{align-items:center;background:linear-gradient(135deg,#4fc3f7,#29b6f6);border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;font-size:24px;font-weight:700;height:60px;justify-content:center;width:60px}.logo-text{font-size:14px;font-weight:700}.header-info h1{font-size:1.8rem;margin-bottom:.5rem}.header-info p{opacity:.9}.main-content{display:flex;flex-direction:column;height:calc(100vh - 140px);overflow:hidden;padding:2rem}.chat-container{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex:1 1;flex-direction:column-reverse;margin-bottom:1rem;overflow-y:auto;padding:1rem}.messages{display:flex;flex-direction:column;gap:1rem}.message{border-radius:12px;line-height:1.5;max-width:80%;padding:1rem}.message.user{align-self:flex-end;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom-right-radius:4px;color:#fff}.message.bot{align-self:flex-start;background:#fff;border:1px solid #e0e0e0;border-bottom-left-radius:4px;box-shadow:0 2px 4px #0000000d}.message-content{word-wrap:break-word}.sources{border-top:1px dashed #ddd;font-size:.85rem;margin-top:.75rem;padding-top:.75rem}.sources ul{list-style:none;margin-top:.25rem}.sources li{color:#666;padding:.25rem 0}.source-info-message{background-color:#f0f0f0;border-left:3px solid #0056b3;border-radius:4px;color:#666;font-size:.85rem;font-style:italic;margin-top:.75rem;padding:.75rem}.confidence{color:#4caf50;font-size:.75rem;font-weight:700;margin-left:.5rem}.empty-state{color:#666;padding:3rem 1rem;text-align:center}.empty-state h3{color:#333;margin-bottom:1rem}.example-questions{margin-left:auto;margin-right:auto;margin-top:2rem;max-width:500px;text-align:left}.example-questions ul{list-style:none;margin-top:.5rem}.example-questions li{background:#fff;border-left:4px solid #667eea;border-radius:6px;margin-bottom:.5rem;padding:.5rem}.loading{display:flex;gap:4px;padding:10px}.loading span{animation:bounce 1.4s ease-in-out infinite both;font-size:24px}.loading span:first-child{animation-delay:-.32s}.loading span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.input-area{display:flex;gap:1rem}.input-area input{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:1rem;padding:1rem;transition:border-color .3s}.input-area input:focus{border-color:#667eea;outline:none}.input-area button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:transform .2s,box-shadow .2s}.input-area button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.input-area button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.header{flex-direction:column;gap:1rem;text-align:center}.message{max-width:90%}.input-area{flex-direction:column}.input-area button{width:100%}}.message.bot .message-content>div{line-height:1.6}.message.bot h1,.message.bot h2,.message.bot h3,.message.bot h4{color:#1a237e;font-weight:600;margin:1em 0 .5em}.message.bot h1{border-bottom:2px solid #e0e0e0;font-size:1.5em;padding-bottom:.3em}.message.bot h2{font-size:1.3em}.message.bot h3{font-size:1.1em}.message.bot strong{color:#1a237e;font-weight:600}.message.bot em{font-style:italic}.message.bot ol,.message.bot ul{margin:.5em 0;padding-left:1.5em}.message.bot ul{list-style-type:disc}.message.bot ol{list-style-type:decimal}.message.bot li{line-height:1.5;margin:.3em 0}.message.bot p{margin:.8em 0}.message.bot code{background-color:#f5f5f5;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;padding:.2em .4em}.message.bot pre{background-color:#f8f9fa;border-left:4px solid #667eea;border-radius:6px;margin:1em 0;overflow-x:auto;padding:1em}.message.bot pre code{background:none;padding:0}.message.bot blockquote{border-left:4px solid #764ba2;color:#555;font-style:italic;margin:1em 0;padding-left:1em}.message.bot a{border-bottom:1px dotted #667eea;color:#667eea;text-decoration:none}.message.bot a:hover{border-bottom:1px solid #764ba2;color:#764ba2}.sources em,.sources h1,.sources h2,.sources h3,.sources h4,.sources li,.sources ol,.sources p,.sources strong,.sources ul{all:revert;color:#666!important;font-size:.85rem!important;font-weight:400!important;line-height:normal!important;margin:0!important;padding:0!important}.sources ul{list-style:none!important;padding-left:0!important}.chatgpt-typing span{animation:blinkDot 1.2s infinite;color:#999;display:inline-block;font-weight:700}.chatgpt-typing span:nth-child(2){animation-delay:.2s}.chatgpt-typing span:nth-child(3){animation-delay:.4s}@keyframes blinkDot{0%,80%,to{opacity:0}40%{opacity:1}}.scroll-to-bottom-btn{align-items:center;background:#667eea;border:none;border-radius:25px;bottom:100px;box-shadow:0 4px 16px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;padding:12px 20px;position:fixed;right:30px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.scroll-to-bottom-btn:hover{background:#764ba2;box-shadow:0 8px 24px #764ba266;transform:translateY(-3px) scale(1.05)}.scroll-icon{align-items:center;animation:bounceArrow 1.5s infinite;display:inline-flex;font-size:1.2rem;height:20px;justify-content:center;width:20px}@keyframes bounceArrow{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-2px)}}.chat-history-sidebar{background:#fff;border-right:1px solid #d1d5db;box-shadow:2px 0 8px #0000001a;display:flex;flex-direction:column;height:100vh;left:0;overflow-x:hidden;overflow-y:auto;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:260px;z-index:999}.chat-history-sidebar.show{transform:translateX(0)}.sidebar-header{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:16px}.sidebar-header h3{color:#1f2937;font-size:1rem;font-weight:600;margin:0}.close-sidebar{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;transition:all .2s;width:32px}.close-sidebar:hover{background:#f3f4f6;color:#111827}.sidebar-actions{display:flex;flex-shrink:0;gap:8px;padding:12px}.new-chat-btn,.refresh-btn{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:500;padding:10px 12px;transition:all .2s}.new-chat-btn:hover:not(:disabled),.refresh-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;color:#111827}.new-chat-btn:active:not(:disabled),.refresh-btn:active:not(:disabled){background:#f3f4f6}.refresh-btn:disabled{cursor:not-allowed;opacity:.5}.sessions-list{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:8px}.session-item{align-items:center;background:#fff;border:1px solid #0000;border-radius:8px;color:#374151;cursor:pointer;display:-webkit-box;display:flex;font-size:.875rem;gap:8px;justify-content:space-between;line-height:1.4;min-height:44px;padding:12px;transition:all .2s;word-break:break-word}.session-content,.session-item{-webkit-box-orient:vertical;overflow:hidden}.session-content{display:-webkit-box;flex:1 1}.session-title{color:inherit;font-weight:500;margin-bottom:4px}.session-meta{color:#9ca3af;display:flex;font-size:.75rem;gap:8px}.session-date{opacity:.7}.message-count{background:#f3f4f6;border-radius:4px;padding:1px 6px}.session-item.active .message-count{background:#fff3}.session-actions{display:flex;flex-shrink:0;gap:4px;opacity:0;transition:opacity .2s}.session-item:hover .session-actions{opacity:1}.delete-btn,.edit-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:4px;transition:all .2s}.delete-btn:hover,.edit-btn:hover{background:#0000001a}.session-item.active .delete-btn:hover,.session-item.active .edit-btn:hover{background:#fff3}.session-item:hover{background:#f3f4f6;border-color:#d1d5db;color:#1f2937}.session-item.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;font-weight:500}.session-item.active:hover{box-shadow:0 4px 12px #667eea4d}.no-sessions{color:#9ca3af;padding:24px 16px;text-align:center}.no-sessions p{font-size:.875rem;margin:8px 0}.no-sessions .hint{color:#d1d5db;font-size:.75rem}.sessions-list::-webkit-scrollbar{width:6px}.sessions-list::-webkit-scrollbar-track{background:#0000}.sessions-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.sessions-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.toggle-history-btn{align-items:center;background:#667eea;border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;left:16px;position:fixed;top:80px;transition:all .3s;width:40px;z-index:998}.toggle-history-btn:hover{background:#764ba2;box-shadow:0 6px 16px #764ba266;transform:translateY(-2px)}.mobile-sidebar-toggle{align-items:center;background:#667eea;border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;display:none;font-size:1.2rem;height:40px;justify-content:center;left:16px;position:fixed;top:80px;transition:all .3s;width:40px;z-index:998}.app.sidebar-open{margin-left:260px}@media (max-width:768px){.chat-history-sidebar{width:100%}.toggle-history-btn{left:10px;top:70px}.mobile-sidebar-toggle{display:flex}.main-content{height:calc(100vh - 120px);padding:1rem}.chat-container{margin-bottom:1rem}}.welcome-message{background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border:1px solid #667eea1a;border-radius:12px;box-shadow:0 4px 15px #667eea1a;height:auto;margin:1rem auto;min-height:auto;overflow:hidden;padding:1.5rem 2rem;text-align:center;width:100%}.welcome-message:before{display:none}.welcome-message h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a237e;font-size:1.5rem;font-weight:700;margin-bottom:.8rem}.welcome-message p{color:#4a5568;font-size:.95rem;line-height:1.4;margin-bottom:.5rem}.welcome-message .hint{background:#ffffffe6;border-left:3px solid #667eea;border-radius:8px;color:#718096;display:inline-block;font-size:.85rem;font-style:italic;margin:.8rem 0;padding:.6rem .8rem}.quick-questions{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(3,1fr);margin-top:1.2rem;width:100%}.quick-question-btn{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;justify-content:center;min-height:44px;padding:.7rem .5rem;text-align:center;transition:all .2s ease;width:100%}.quick-question-btn:hover{background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border-color:#667eea;box-shadow:0 3px 8px #667eea26;color:#1a237e;transform:translateY(-1px)}.quick-question-btn:active{box-shadow:0 1px 4px #667eea1a;transform:translateY(0)}@media (max-width:768px){.welcome-message{border-radius:10px;margin:.8rem auto;padding:1rem 1.2rem}.welcome-message h2{font-size:1.3rem}.welcome-message p{font-size:.9rem}.quick-questions{gap:.5rem;grid-template-columns:1fr;margin-top:1rem}.quick-question-btn{font-size:.8rem;padding:.6rem}}.chat-container .welcome-message{max-height:300px;overflow-y:hidden}.welcome-message{display:block!important;flex:none!important;position:relative;z-index:1}
/*# sourceMappingURL=main.5ec25f12.css.map*/