:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-container{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow:hidden;box-sizing:border-box}.login-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,219,255,.2) 0%,transparent 50%);animation:backgroundShift 20s ease-in-out infinite}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px;width:100%;max-width:450px;min-width:320px;box-shadow:0 20px 40px #0000001a;border:1px solid rgba(255,255,255,.2);animation:slideUp .6s ease-out;position:relative;z-index:1;margin:0 auto}.login-header{text-align:center;margin-bottom:30px}.login-title{font-size:2.5rem;font-weight:700;color:#333;margin:0 0 10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:1.1rem;color:#666;margin:0;font-weight:500}.login-form{display:flex;flex-direction:column;gap:20px}.form-label{font-size:.9rem;font-weight:600;color:#333;margin-bottom:5px}.form-input{padding:15px;border:2px solid #e1e5e9;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fffc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-2px)}.form-input::placeholder{color:#999}.submit-button{padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:10px}.submit-button:active:not(:disabled){transform:translateY(0)}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#d63031;padding:12px;border-radius:8px;font-size:.9rem;text-align:center;animation:shake .5s ease-in-out}.login-footer{margin-top:30px;text-align:center}.switch-mode{color:#666;font-size:.9rem;margin:0}.switch-button{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;text-decoration:underline;margin:0;padding:0;display:inline;font-size:inherit;line-height:inherit;transition:color .3s ease}.switch-button:hover{color:#764ba2}@media(min-width:1200px){.login-container{padding:40px}.login-card{max-width:500px;padding:50px;min-width:400px}.login-title{font-size:3rem}.login-subtitle{font-size:1.2rem}.form-input,.submit-button{padding:18px;font-size:1.1rem}}@media(min-width:1600px){.login-card{max-width:600px;padding:60px}.login-title{font-size:3.5rem}.login-subtitle{font-size:1.3rem}.form-input,.submit-button{padding:20px;font-size:1.2rem}}@media(min-width:769px)and (max-width:1199px){.login-container{padding:30px}.login-card{max-width:450px;padding:45px}.login-title{font-size:2.8rem}.login-subtitle{font-size:1.15rem}.form-input,.submit-button{padding:16px}}@media(max-width:768px){.login-container{padding:15px}.login-card{padding:30px 25px;max-width:100%;width:100%}.login-title{font-size:2rem}.login-subtitle{font-size:1rem}.form-input,.submit-button{padding:12px}}@media(max-width:480px){.login-card{padding:25px 20px;border-radius:15px}.login-title{font-size:1.8rem}.form-input,.submit-button{padding:10px;font-size:.9rem}}@media(prefers-color-scheme:dark){.login-card{background:#1e1e1ef2;border:1px solid rgba(255,255,255,.1)}.login-title{color:#fff}.login-subtitle{color:#ccc}.form-label{color:#fff}.form-input{background:#323232cc;border-color:#444;color:#fff}.form-input::placeholder{color:#888}.switch-mode{color:#ccc}}.login-card:hover{transform:translateY(-5px);box-shadow:0 25px 50px #00000026}.form-input:focus{background:#fffffff2}@media(prefers-color-scheme:dark){.form-input:focus{background:#3c3c3ce6}}.admin-login-container{min-height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3c72,#2a5298);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;position:relative;overflow:hidden;box-sizing:border-box}.admin-login-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(30,60,114,.4) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(42,82,152,.4) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(60,100,180,.3) 0%,transparent 50%);animation:backgroundShift 20s ease-in-out infinite}@keyframes backgroundShift{0%,to{opacity:1}50%{opacity:.8}}.admin-login-card{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px;width:100%;max-width:450px;min-width:320px;box-shadow:0 20px 40px #1e3c724d;border:2px solid rgba(30,60,114,.2);animation:slideUp .6s ease-out;position:relative;z-index:1;margin:0 auto}.admin-login-header{text-align:center;margin-bottom:30px}.admin-login-title{font-size:2.5rem;font-weight:700;color:#1e3c72;margin:0 0 10px;background:linear-gradient(135deg,#1e3c72,#2a5298);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-login-subtitle{font-size:1.1rem;color:#1e3c72;margin:0;font-weight:600}.admin-login-form{display:flex;flex-direction:column;gap:20px}.admin-form-group{display:flex;flex-direction:column;gap:8px}.admin-form-label{font-size:.9rem;font-weight:600;color:#1e3c72;margin-bottom:5px}.admin-form-input{padding:15px;border:2px solid #cbd5e0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#ffffffe6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.admin-form-input:focus{outline:none;border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c721a;transform:translateY(-2px)}.admin-form-input::placeholder{color:#999}.admin-submit-button{padding:15px;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:10px}.admin-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #1e3c7266;background:linear-gradient(135deg,#2a5298,#3d6bb3)}.admin-submit-button:active:not(:disabled){transform:translateY(0)}.admin-submit-button:disabled{opacity:.7;cursor:not-allowed}.admin-loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.admin-error-message{background:#dc26261a;border:1px solid rgba(220,38,38,.3);color:#dc2626;padding:12px;border-radius:8px;font-size:.9rem;text-align:center;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.admin-login-footer{margin-top:30px;text-align:center}.admin-switch-mode{color:#1e3c72;font-size:.9rem;margin:0}.admin-switch-button{background:none;border:none;color:#2a5298;font-weight:600;cursor:pointer;text-decoration:underline;margin:0;padding:0;display:inline;font-size:inherit;line-height:inherit;transition:color .3s ease}.admin-switch-button:hover{color:#1e3c72}@media(min-width:1200px){.admin-login-container{padding:40px}.admin-login-card{max-width:500px;padding:50px;min-width:400px}.admin-login-title{font-size:3rem}.admin-login-subtitle{font-size:1.2rem}.admin-form-input,.admin-submit-button{padding:18px;font-size:1.1rem}}@media(min-width:1600px){.admin-login-card{max-width:600px;padding:60px}.admin-login-title{font-size:3.5rem}.admin-login-subtitle{font-size:1.3rem}.admin-form-input,.admin-submit-button{padding:20px;font-size:1.2rem}}@media(min-width:769px)and (max-width:1199px){.admin-login-container{padding:30px}.admin-login-card{max-width:450px;padding:45px}.admin-login-title{font-size:2.8rem}.admin-login-subtitle{font-size:1.15rem}.admin-form-input,.admin-submit-button{padding:16px}}@media(max-width:768px){.admin-login-container{padding:15px}.admin-login-card{padding:30px 25px;max-width:100%;width:100%}.admin-login-title{font-size:2rem}.admin-login-subtitle{font-size:1rem}.admin-form-input,.admin-submit-button{padding:12px}}@media(max-width:480px){.admin-login-card{padding:25px 20px;border-radius:15px}.admin-login-title{font-size:1.8rem}.admin-form-input,.admin-submit-button{padding:10px;font-size:.9rem}}.admin-login-card:hover{transform:translateY(-5px);box-shadow:0 25px 50px #1e3c7266}.admin-form-input:focus{background:#fffffff2}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border:none;border-radius:15px;padding:0;width:90%;max-width:500px;box-shadow:0 20px 50px #0000004d;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin:0;padding:30px 30px 25px;border-bottom:none;border:none;background:transparent}.modal-header h2{font-size:1.5rem;font-weight:600;color:#333;margin:0}.modal-close-button{background:none;border:none;cursor:pointer;padding:5px;color:#666;transition:color .3s ease;display:flex;align-items:center;justify-content:center}.modal-close-button:hover:not(:disabled){color:#333}.modal-close-button:disabled{opacity:.5;cursor:not-allowed}.modal-form{display:flex;flex-direction:column;gap:20px;padding:0 30px 30px}.form-group{display:flex;flex-direction:column;gap:8px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.form-label-row{display:flex;justify-content:space-between;align-items:center}.form-label{font-size:.9rem;font-weight:600;color:#333}.form-input{padding:12px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:all .3s ease;width:100%;box-sizing:border-box}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input:disabled{background:#f5f5f5;cursor:not-allowed}.disabled-input{background:#f5f5f5!important;color:#6b7280!important;cursor:not-allowed}.generate-password-button{padding:4px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.generate-password-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.generate-password-button:disabled{opacity:.5;cursor:not-allowed}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input{padding-right:45px}.password-toggle-button{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:4px;color:#666;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.password-toggle-button:hover:not(:disabled){color:#333}.password-toggle-button:disabled{opacity:.3;cursor:not-allowed}.error-message{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);color:#d63031;padding:12px;border-radius:8px;font-size:.9rem;text-align:center}.success-message{background:#2ed5731a;border:1px solid rgba(46,213,115,.3);color:#2ed573;padding:12px;border-radius:8px;font-size:.9rem;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-actions{display:flex;gap:10px;justify-content:center;align-items:stretch;margin-top:20px;width:100%}.modal-actions button{flex:0 1 auto;min-width:120px;width:auto}.cancel-button{padding:0 24px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;font-weight:600;color:#666;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;height:48px;max-height:48px;min-height:48px;box-sizing:border-box;margin:0;line-height:1.5;font-family:inherit}.cancel-button:hover:not(:disabled){background:#e9ecef;color:#333}.cancel-button:disabled{opacity:.5;cursor:not-allowed}.submit-button{padding:0 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:1px solid #667eea;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;height:48px;max-height:48px;min-height:48px;box-sizing:border-box;margin:0;line-height:1.5;font-family:inherit}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.submit-button:disabled{opacity:.7;cursor:not-allowed}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.modal-content{padding:20px;width:95%}.modal-header h2{font-size:1.3rem}}.delete-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.delete-modal-content{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.delete-modal-header{text-align:center;margin-bottom:24px}.delete-icon{width:64px;height:64px;margin:0 auto 16px;color:#dc2626;background:#fee2e2;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.delete-modal-header h2{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0}.delete-modal-body{margin-bottom:24px}.delete-warning{font-size:1rem;color:#6b7280;margin-bottom:20px;line-height:1.6}.delete-user-info{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:20px;border:1px solid #e5e7eb}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e5e7eb}.info-row:last-child{border-bottom:none}.info-label{font-weight:600;color:#4b5563;font-size:.9rem}.info-value{color:#1f2937;font-size:.9rem}.delete-notice{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px}.delete-notice svg{color:#f59e0b;flex-shrink:0;margin-top:2px}.delete-notice p{margin:0;font-size:.875rem;color:#92400e;line-height:1.5}.delete-error-message{background:#fee2e2;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:20px;font-size:.9rem;border:1px solid #fecaca}.delete-modal-actions{display:flex;gap:12px;justify-content:center}.delete-cancel-button{padding:10px 24px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.delete-cancel-button:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.delete-cancel-button:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-button{padding:10px 24px;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.delete-confirm-button:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.delete-confirm-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .6s linear infinite}@media(max-width:480px){.delete-modal-content{padding:24px;width:95%}.delete-modal-header h2{font-size:1.25rem}.delete-icon{width:56px;height:56px}.delete-modal-actions{flex-direction:column-reverse}.delete-cancel-button,.delete-confirm-button{width:100%}}@media(prefers-color-scheme:dark){.delete-modal-content{background:#1f2937;color:#f9fafb}.delete-modal-header h2{color:#f9fafb}.delete-user-info{background:#374151;border-color:#4b5563}.info-label{color:#9ca3af}.info-value{color:#f9fafb}.info-row{border-bottom-color:#4b5563}.delete-warning{color:#d1d5db}.delete-cancel-button{background:#374151;color:#f9fafb;border-color:#4b5563}.delete-cancel-button:hover:not(:disabled){background:#4b5563}}.admin-dashboard-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.admin-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px 30px;border-radius:15px;box-shadow:0 10px 30px #0000001a}.admin-dashboard-title{font-size:1.2rem;font-weight:600;color:#333;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-dashboard-content{max-width:1200px;margin:0 auto}.users-section{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 10px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{font-size:1.5rem;font-weight:600;color:#1e3c72;margin:0}.add-user-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.add-user-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:20px}.loading-spinner{width:40px;height:40px;border:4px solid #e1e5e9;border-top:4px solid #1e3c72;border-radius:50%;animation:spin 1s linear infinite}.error-container{padding:40px;text-align:center;color:#dc2626}.retry-button{margin-top:15px;padding:10px 20px;background:#1e3c72;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-button:hover{background:#2a5298}.users-table-container{overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:#1e3c72;color:#fff}.users-table th{padding:15px;text-align:left;font-weight:600;font-size:.95rem}.users-table th:last-child{width:100px;text-align:center}.users-table tbody tr{border-bottom:1px solid #e1e5e9;transition:background-color .2s ease}.users-table tbody tr:hover{background-color:#f5f7fa}.users-table td{padding:15px;color:#333;font-size:.9rem}.users-table td:last-child{text-align:center}.action-buttons{display:flex;gap:8px;align-items:center;justify-content:center}.edit-user-button{background:#dbeafe;border:1px solid #bfdbfe;border-radius:6px;padding:6px 10px;cursor:pointer;transition:all .2s ease;color:#2563eb;display:inline-flex;align-items:center;justify-content:center}.edit-user-button:hover{background:#2563eb;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb33}.delete-user-button{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:6px 10px;cursor:pointer;transition:all .2s ease;color:#dc2626;display:inline-flex;align-items:center;justify-content:center}.delete-user-button:hover:not(:disabled){background:#dc2626;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #dc262633}.delete-user-button:disabled{opacity:.5;cursor:not-allowed}.no-users{text-align:center;padding:40px;color:#666;font-style:italic}@media(max-width:768px){.admin-dashboard-container{padding:15px}.admin-dashboard-header{flex-direction:column;gap:15px;padding:20px;text-align:center}.admin-dashboard-title{font-size:1.1rem}.logout-button{width:32px;height:32px}.users-section{padding:20px}.section-header{flex-direction:column;align-items:flex-start;gap:15px}.users-table{font-size:.85rem}.users-table th,.users-table td{padding:10px}}@media(max-width:480px){.admin-dashboard-header{padding:15px}.admin-dashboard-title{font-size:1rem}.logout-button{width:30px;height:30px}}@media(prefers-color-scheme:dark){.admin-dashboard-container{background:linear-gradient(135deg,#2c3e50,#34495e)}.admin-dashboard-header,.users-section{background:#1e1e1ef2;border:1px solid rgba(255,255,255,.1)}.admin-dashboard-title{color:#fff}.users-table tbody tr{border-bottom:1px solid rgba(255,255,255,.1)}.users-table tbody tr:hover{background-color:#ffffff0d}.users-table td{color:#ccc}.users-table th{background:#1e3c724d;color:#fff}.no-users{color:#999}}.chat-container{display:flex;flex-direction:column;height:100vh;background-color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.chat-header{background-color:transparent;padding:16px 20px}.header-content{display:flex;align-items:center;justify-content:space-between;width:100%;position:relative}.header-left{display:flex;align-items:center;position:relative}.header-center{flex:1;display:flex;align-items:center;justify-content:center;gap:16px}.header-right{display:flex;justify-content:flex-end}.menu-button{background:#fff;border:1px solid #d1d5db;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#6c757d;padding:8px;border-radius:8px;margin-right:16px}.menu-button:hover{background:#f5f5f5;color:#495057;border-color:#9ca3af}.thread-menu{position:absolute;top:100%;left:0;margin-top:8px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;width:380px;max-height:400px;overflow:hidden;z-index:1000;display:flex;flex-direction:column}.thread-menu-header{padding:16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.thread-menu-header h3{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.new-thread-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.new-thread-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.thread-list{overflow-y:auto;max-height:320px}.thread-item{width:100%;padding:12px 16px;border:none;background:#fff;text-align:left;cursor:pointer;transition:all .3s ease;border-bottom:1px solid #f3f4f6}.thread-item:hover{background:#f9fafb}.thread-item.active{background:#f0f4ff;border-left:3px solid #667eea}.thread-item-info{display:flex;flex-direction:column;gap:4px}.thread-item-title{font-size:.875rem;font-weight:600;color:#1f2937}.thread-item-meta{font-size:.75rem;color:#6b7280}.thread-empty{padding:24px 16px;text-align:center;color:#9ca3af;font-size:.875rem}.close-button{background:none;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;font-size:24px;font-weight:700;color:#6c757d;padding:8px;width:auto;height:auto}.close-button:hover{color:#495057;transform:scale(1.2)}.profile-section{position:relative;display:flex;align-items:center}.profile-image{position:relative}.profile-avatar{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px;box-shadow:0 4px 12px #667eea4d;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.avatar-section{display:flex;justify-content:center;align-items:center;padding:40px 20px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-avatar{width:240px;height:240px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:72px;box-shadow:0 8px 24px #667eea4d;overflow:hidden;border:3px solid rgba(255,255,255,.9)}.chat-avatar img{width:100%;height:100%;object-fit:cover}.header-title{flex:1}.header-title h1{margin:0;font-size:18px;font-weight:600;color:#2c3e50;line-height:1.2}.header-title p{margin:2px 0 0;font-size:14px;color:#6c757d;font-weight:400}.messages-container{flex:1;overflow:hidden;background-color:#fff}.messages-list{height:100%;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.message{display:flex;align-items:flex-end;gap:12px;max-width:80%}.user-message{align-self:flex-end;flex-direction:row-reverse}.ai-message{align-self:flex-start}.message-content{background:#f8f9fa;border-radius:18px;padding:12px 16px;position:relative;box-shadow:0 2px 8px #0000000d}.user-message .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ai-message .message-content{background:#f8f9fa;color:#2c3e50}.message-text{font-size:15px;line-height:1.4;margin-bottom:4px;word-wrap:break-word}.message-time{font-size:11px;opacity:.7;text-align:right}.ai-message .message-time{text-align:left}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.user-message .message-avatar,.ai-message .message-avatar{background:#e9ecef;color:#6c757d}.typing-indicator{display:flex;gap:4px;align-items:center;padding:8px 0}.typing-indicator span{width:8px;height:8px;background:#6c757d;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.input-container{background:#fff;border-top:1px solid #e9ecef;padding:20px;box-shadow:0 -2px 8px #0000000d;display:flex;align-items:center;justify-content:center}.input-wrapper{display:flex;gap:12px;align-items:center;background:#f8f9fa;border-radius:24px;padding:12px 16px;border:1px solid #e9ecef;transition:all .2s ease;width:100%}.input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.message-input{flex:1;border:none;background:transparent;outline:none;font-size:15px;line-height:1.4;color:#2c3e50;resize:none;min-height:24px;max-height:120px;font-family:inherit;padding:0}.message-input::placeholder{color:#6c757d}.send-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:60px}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.messages-list::-webkit-scrollbar{width:6px}.messages-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.messages-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.messages-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media(max-width:768px){.chat-header{padding:12px 16px}.header-content{flex-direction:row;gap:0}.header-center{flex:1}.header-right{flex:none}.close-button{font-size:20px;padding:6px}.avatar-section{padding:30px 15px}.chat-avatar{width:210px;height:210px;font-size:60px}.header-title h1{font-size:16px}.header-title p{font-size:13px}.messages-list{padding:16px;gap:12px}.message{max-width:85%}.message-avatar{width:36px;height:36px;font-size:18px}.message-text{font-size:14px}.input-container{padding:16px}.input-wrapper{padding:10px 14px}.message-input{font-size:14px}.send-button{padding:6px 12px;font-size:13px}}@media(max-width:480px){.chat-header{padding:10px 12px}.header-content{gap:12px}.profile-arrow{border-left-width:8px;border-top-width:6px;border-bottom-width:6px}.header-title h1{font-size:15px}.avatar-section{padding:25px 12px}.chat-avatar{width:180px;height:180px;font-size:54px}.header-title p{font-size:12px}.messages-list{padding:12px;gap:10px}.message{max-width:90%}.message-avatar{width:32px;height:32px;font-size:16px}.message-text{font-size:13px}.input-container{padding:12px}.input-wrapper{padding:8px 12px}}.avatar-upload{border:2px dashed #e9ecef;border-radius:12px;padding:20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#f8f9fa;min-height:120px;display:flex;align-items:center;justify-content:center}.avatar-upload:hover{border-color:#667eea;background:#f0f2ff}.avatar-upload.drag-over{border-color:#667eea;background:#e8f0fe;transform:scale(1.02)}.avatar-preview{position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden;margin:0 auto}.avatar-preview img{width:100%;height:100%;object-fit:cover}.upload-overlay{position:absolute;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;border-radius:50%}.upload-spinner{width:20px;height:20px;border:2px solid #fff;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:8px}.avatar-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6c757d}.upload-icon{font-size:2rem;margin-bottom:8px}.avatar-placeholder p{margin:4px 0;font-size:.9rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e9ecef;margin-bottom:24px}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#333}.modal-header .close-button{background:none;border:none;font-size:24px;color:#6c757d;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.modal-header .close-button:hover{background:#f8f9fa;color:#495057}.modal-form{padding:0 24px 24px}.form-group{margin-bottom:20px}.form-row{display:flex;gap:16px;margin-bottom:20px}.form-row .form-group{flex:1;margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:.9rem}.form-group input{width:100%;padding:12px 16px;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.disabled-input{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.disabled-input:focus{border-color:#e9ecef;box-shadow:none}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:32px;padding-top:24px;border-top:1px solid #e9ecef}.cancel-button{background:#f8f9fa;border:1px solid #e9ecef;color:#6c757d;padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background:#e9ecef;color:#495057}.update-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 24px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.update-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.update-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.success-message{text-align:center;padding:40px 24px}.success-icon{width:60px;height:60px;background:linear-gradient(135deg,#28a745,#20c997);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:24px;color:#fff;font-weight:700}.success-message h3{margin:0 0 8px;font-size:1.3rem;font-weight:600;color:#333}.success-message p{margin:0;color:#6c757d;font-size:.9rem}@media(max-width:768px){.modal-overlay{padding:10px}.modal-content{max-width:100%}.modal-header{padding:20px 20px 0}.modal-header h2{font-size:1.3rem}.modal-form{padding:0 20px 20px}.modal-actions{flex-direction:column}.cancel-button,.update-button{width:100%}}@media(max-width:480px){.modal-header{padding:16px 16px 0}.modal-header h2{font-size:1.2rem}.modal-form{padding:0 16px 16px}.form-group input{padding:10px 12px;font-size:.9rem}}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;animation:fadeIn .3s ease-out;display:flex;justify-content:center;align-items:center;padding:20px;box-sizing:border-box}.personality-modal{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 25px 60px #0003;border:1px solid rgba(255,255,255,.2);width:500px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);overflow:hidden;animation:slideUp .3s ease-out;display:flex;flex-direction:column;box-sizing:border-box}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px;border-bottom:1px solid rgba(102,126,234,.1);background:linear-gradient(135deg,#667eea0d,#764ba20d);flex-shrink:0}.modal-header h2{margin:0;font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-button{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#6c757d}.close-button:hover{background:#e9ecef;color:#495057;transform:scale(1.1);box-shadow:0 4px 12px #00000026}.learning-fields-container{display:flex;flex-direction:column;gap:20px;max-height:60vh;overflow-y:auto;padding:20px 30px}.learning-field-group{display:flex;flex-direction:column;gap:10px;padding:0 20px}.field-header{display:flex;justify-content:space-between;align-items:center;padding:0 10px}.field-number{font-size:.9rem;font-weight:600;color:#667eea}.remove-field-button{background:#ff6b6b1a;border:1px solid rgba(255,107,107,.3);border-radius:6px;padding:4px 8px;cursor:pointer;color:#d63031;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.remove-field-button:hover:not(:disabled){background:#ff6b6b33;transform:scale(1.1)}.remove-field-button:disabled{opacity:.5;cursor:not-allowed}.learning-textarea{flex:1;padding:15px;border:2px solid #e1e5e9;border-radius:12px;font-size:1rem;font-family:inherit;line-height:1.6;resize:vertical;min-height:100px;background:#fff;transition:all .3s ease;box-sizing:border-box;text-align:left;width:100%}.learning-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.learning-textarea.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.learning-textarea:disabled{background:#f5f5f5;cursor:not-allowed}.learning-textarea::placeholder{color:#999;font-style:italic}.character-count-wrapper{display:flex;justify-content:space-between;align-items:center;padding:0 10px;margin-top:4px}.character-count{font-size:.85rem;color:#6b7280;font-weight:500}.character-count.error{color:#dc2626;font-weight:600}.character-error-message{font-size:.8rem;color:#dc2626;font-weight:600;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.add-field-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;margin-left:30px;margin-right:30px}.add-field-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.add-field-button:disabled{opacity:.5;cursor:not-allowed}.modal-footer{display:flex;justify-content:center;gap:20px;padding:25px 30px;border-top:1px solid rgba(102,126,234,.1);background:linear-gradient(135deg,#667eea05,#764ba205);flex-shrink:0}.cancel-button{background:#f8f9fa;color:#6c757d;border:1px solid #e9ecef;padding:12px 30px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.cancel-button:hover{background:#e9ecef;color:#495057;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.update-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 30px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px;box-shadow:0 4px 15px #667eea4d}.update-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66;background:linear-gradient(135deg,#5a67d8,#6b46c1)}.success-message{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 30px;text-align:center;animation:fadeInScale .5s ease-out}.success-icon{color:#10b981;margin-bottom:20px;animation:bounceIn .6s ease-out}.success-message h3{margin:0 0 10px;font-size:1.5rem;font-weight:700;color:#10b981}.success-message p{margin:0;font-size:1rem;color:#6b7280;line-height:1.5}.loading-data{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 30px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f4f6;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-data p{margin:0;font-size:1rem;color:#6b7280}.progress-container{flex:1;display:flex;flex-direction:column;padding:40px 30px;text-align:center}.progress-header{margin-bottom:30px}.progress-header h3{margin:0 0 10px;font-size:1.5rem;font-weight:700;color:#667eea}.progress-header p{margin:0;font-size:1rem;color:#6b7280}.progress-bar-wrapper{width:100%;margin-bottom:20px}.progress-bar{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;transition:width .5s ease}.progress-percentage{font-size:1.2rem;font-weight:700;color:#667eea;text-align:center}.progress-steps{display:flex;justify-content:space-between;align-items:center;gap:10px}.step{display:flex;flex-direction:column;align-items:center;flex:1;opacity:.4;transition:all .3s ease}.step.active{opacity:1;transform:scale(1.05)}.step.completed{opacity:1}.step-number{width:32px;height:32px;border-radius:50%;background:#e5e7eb;color:#6b7280;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;margin-bottom:8px;transition:all .3s ease}.step.active .step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.step.completed .step-number{background:#10b981;color:#fff}.step-label{font-size:.8rem;color:#6b7280;font-weight:500;text-align:center;line-height:1.2}.step.active .step-label{color:#667eea;font-weight:600}.step.completed .step-label{color:#10b981;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.personality-modal{width:95%;max-width:calc(100vw - 20px)}.modal-header{padding:20px}.modal-header h2{font-size:1.5rem}.learning-textarea{padding:20px}.modal-footer{padding:20px;flex-direction:column;gap:15px}.cancel-button,.update-button{width:100%;min-width:auto}}@media(max-width:480px){.personality-modal{width:98%;max-width:calc(100vw - 10px)}.modal-header{padding:15px}.modal-header h2{font-size:1.3rem}.learning-textarea{padding:15px;min-height:150px}.modal-footer{padding:15px}.progress-container{padding:20px 15px}.progress-steps{flex-direction:column;gap:15px}.step{flex-direction:row;text-align:left}.step-number{margin-right:12px;margin-bottom:0}}@media(prefers-color-scheme:dark){.personality-modal{background:#1e1e1ef2;border:1px solid rgba(255,255,255,.1)}.modal-header{border-bottom-color:#ffffff1a;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.modal-header h2{color:#fff}.learning-textarea{background:transparent;color:#fff}.learning-textarea:focus{background:transparent}.learning-textarea::placeholder{color:#666}.modal-footer{border-top-color:#ffffff1a;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.cancel-button{background:#282828cc;color:#ccc;border-color:#ffffff1a}.cancel-button:hover{background:#323232e6;color:#fff}.success-message h3{color:#10b981}.success-message p{color:#9ca3af}.loading-spinner{border-color:#374151;border-top-color:#667eea}.loading-data p{color:#9ca3af}.progress-header h3{color:#667eea}.progress-header p{color:#9ca3af}.progress-bar{background:#374151}.step-number{background:#374151;color:#9ca3af}.step-label{color:#9ca3af}}.dashboard-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px 30px;border-radius:15px;box-shadow:0 10px 30px #0000001a}.header-actions{display:flex;gap:8px;align-items:center}.settings-button{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#6c757d}.settings-button:hover{background:#e9ecef;color:#495057;transform:scale(1.1);box-shadow:0 4px 12px #00000026}.back-button{background:linear-gradient(135deg,#6c757d,#5a6268);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.back-button:hover{transform:translateY(-2px);box-shadow:0 6px 15px #6c757d4d}.dashboard-title{font-size:1.2rem;font-weight:600;color:#333;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logout-button{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:8px;cursor:pointer;transition:all .3s ease;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#6c757d}.logout-button:hover{background:#e9ecef;color:#495057;transform:scale(1.1);box-shadow:0 4px 12px #00000026}.dashboard-content{display:flex;justify-content:center;align-items:center;gap:30px;min-height:calc(100vh - 200px);padding:40px 20px}.personality-management-section,.chat-start-section{display:flex;justify-content:center;align-items:center;flex:1;max-width:400px}.personality-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;padding:40px;text-align:center;box-shadow:0 20px 50px #0000001a;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;width:100%;position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid rgba(102,126,234,.2);animation:slideUp .6s ease-out}.personality-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 60px #00000026;background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea4d}.personality-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(102,126,234,.1),transparent);transform:rotate(45deg);transition:all .6s ease;opacity:0}.personality-card:hover:before{opacity:1;animation:shimmer 1.5s ease-in-out}.personality-card h3{color:#333;margin:0 0 15px;font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.personality-card p{color:#666;margin:0 0 20px;font-size:1.1rem;line-height:1.5;font-weight:500}.chat-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;padding:40px;text-align:center;box-shadow:0 20px 50px #0000001a;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;cursor:pointer;width:100%;position:relative;overflow:hidden}.chat-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 60px #00000026}.chat-card{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid rgba(102,126,234,.2);animation:slideUp .6s ease-out}.chat-card:hover{background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea4d}.chat-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(102,126,234,.1),transparent);transform:rotate(45deg);transition:all .6s ease;opacity:0}.chat-card:hover:before{opacity:1;animation:shimmer 1.5s ease-in-out}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.personality-preview,.chat-preview{margin-top:15px;padding:10px;background:#667eea1a;border-radius:8px;font-size:.8rem;color:#667eea;font-weight:500;border:1px dashed rgba(102,126,234,.3)}.feature-icon{font-size:5rem;margin-bottom:25px}.chat-card h3{color:#333;margin:0 0 15px;font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chat-card p{color:#666;margin:0 0 20px;font-size:1.1rem;line-height:1.5;font-weight:500}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.dashboard-container{padding:15px}.dashboard-header{flex-direction:column;gap:15px;padding:20px;text-align:center}.dashboard-title{font-size:1.1rem}.settings-button,.logout-button{width:32px;height:32px}.dashboard-content{flex-direction:column;gap:20px;min-height:calc(100vh - 150px);padding:30px 15px}.personality-management-section,.chat-start-section{max-width:100%}.personality-card,.chat-card{padding:30px;max-width:100%}.feature-icon{font-size:3.5rem}.personality-card h3,.chat-card h3{font-size:1.8rem}.personality-card p,.chat-card p{font-size:1rem}}@media(max-width:480px){.dashboard-header{padding:15px}.dashboard-title{font-size:1rem}.settings-button,.logout-button{width:30px;height:30px}.dashboard-content{min-height:calc(100vh - 120px);padding:20px 10px;gap:15px}.personality-card,.chat-card{padding:25px;max-width:100%}.feature-icon{font-size:3rem}.personality-card h3,.chat-card h3{font-size:1.6rem}.personality-card p,.chat-card p{font-size:.9rem}.personality-learning-button{padding:10px 20px;font-size:.9rem}}@media(prefers-color-scheme:dark){.dashboard-container{background:linear-gradient(135deg,#2c3e50,#34495e)}.dashboard-header,.personality-card,.chat-card{background:#1e1e1ef2;border:1px solid rgba(255,255,255,.1)}.dashboard-title,.personality-card h3,.chat-card h3{color:#fff}.personality-card p,.chat-card p{color:#ccc}}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.loading-spinner-large{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{font-size:1.1rem;font-weight:500;margin:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh;width:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}*:focus{outline:2px solid #667eea;outline-offset:2px}button:focus{outline:2px solid #667eea;outline-offset:2px}input:focus{outline:none}::selection{background-color:#667eea33;color:#333}
