body,html{height:100vh;margin:0;overflow:hidden;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app,body{background:#23272f;color:#e6e6e6;font-family:Inter,Segoe UI,Arial,sans-serif;height:100vh}.app,body{overflow:hidden}.chat-header{padding:1rem 2rem}.chat-header h1{cursor:pointer;font-size:1.5rem;transition:opacity .2s ease}.chat-header h1:hover{opacity:.8}.back-btn{display:flex;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.assignment-info{display:flex;flex-direction:column;gap:.5rem;max-width:300px}.assignment-info p{color:#b5bac1;font-size:.9rem;line-height:1.4;margin:0}.assignment-info .due-date{align-self:flex-start;background:#ff6b6b1a;border-radius:4px;color:#ff6b6b;font-size:.8rem;font-weight:500;padding:.2rem .5rem}.header{background:#23272f;border-bottom:1px solid #353945;box-shadow:0 2px 8px 0 #0000000a;padding:.75rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:700px;padding:0 1.5rem}.header h1{color:#fff;font-size:1.3rem;font-weight:700;letter-spacing:.01em}.clear-button{background:#23272f;border:1px solid #353945;border-radius:8px;color:#b5bac1;cursor:pointer;font-size:.95rem;padding:.4rem 1rem;transition:background .2s,color .2s}.clear-button:hover{background:#353945;color:#fff}.chat-container{align-items:center;background:#23272f;height:0}.messages-container{display:flex;flex-direction:column;gap:1.2rem;height:0;margin:0;max-width:none;overflow-x:hidden;overscroll-behavior:contain;padding:2rem 1.5rem 1rem;width:100%}.messages-wrapper{gap:1.2rem;margin:0 auto;max-width:700px;width:100%}.welcome-message{background:#23272f;border-radius:16px;box-shadow:0 2px 16px 0 #00000014;margin-bottom:1.5rem;padding:3rem 1rem 2rem}.welcome-message h2{font-size:1.4rem;margin-bottom:.5rem}.welcome-message p{font-size:1.05rem;margin-bottom:.3rem}.loading-message{align-items:center;margin:.5rem 0 0 .5rem}.typing-indicator{align-items:center;background:#23272f;box-shadow:0 2px 8px 0 #00000014;padding:.7rem 1.2rem}.typing-indicator span{background:#b5bac1}@media (max-width:768px){.chat-header{align-items:flex-start;flex-direction:column;gap:.5rem;padding:1rem}.chat-header h1{font-size:1.2rem}.assignment-info{max-width:none;width:100%}.header-content,.messages-container{padding:0 .5rem}.messages-container{padding:1.2rem .5rem .5rem}.welcome-message{padding:2rem .5rem 1rem}.header h1{font-size:1.05rem}}.login-page{align-items:center;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);display:flex;font-family:Inter,Segoe UI,Arial,sans-serif;justify-content:center;min-height:100vh;padding:2rem}.login-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 8px 32px #0000004d;max-width:400px;padding:3rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f8cff,#3358e6);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:2rem;font-weight:700;margin-bottom:.5rem}.login-header p{color:#b5bac1;font-size:1rem;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{position:relative}.form-group input,.form-group select{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;box-sizing:border-box;color:#fff;font-size:1rem;padding:1rem 1.2rem;transition:all .3s ease;width:100%}.form-group input::placeholder{color:#b5bac1}.form-group input:focus,.form-group select:focus{background:#ffffff26;border-color:#4f8cff;box-shadow:0 0 0 3px #4f8cff1a;outline:none}.form-group select{cursor:pointer}.form-group select option{background:#2d313a;color:#fff}.submit-btn{background:linear-gradient(135deg,#4f8cff,#3358e6);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem;transition:all .3s ease}.submit-btn:hover{background:linear-gradient(135deg,#3358e6,#4f8cff);box-shadow:0 8px 25px #4f8cff4d;transform:translateY(-2px)}.submit-btn:active{transform:translateY(0)}.login-footer{border-top:1px solid #ffffff1a;margin-top:2rem;padding-top:1.5rem;text-align:center}.login-footer p{color:#b5bac1;font-size:.9rem;margin:0}.toggle-btn{background:none;border:none;color:#4f8cff;cursor:pointer;font-weight:600;margin-left:.5rem;text-decoration:underline;transition:color .3s ease}.toggle-btn:hover{color:#3358e6}@media (max-width:480px){.login-page{padding:1rem}.login-container{padding:2rem}.login-header h1{font-size:1.5rem}.login-header p{font-size:.9rem}}.dashboard{background:#23272f;color:#e6e6e6;font-family:Inter,Segoe UI,Arial,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.dashboard-header{align-items:center;background:#20232a;border-bottom:1px solid #353945;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;padding:1.5rem 2rem}.dashboard-header h1{color:#fff;font-size:1.8rem;font-weight:700;margin:0}.user-info span{font-size:1rem}.dashboard-actions{display:flex;justify-content:flex-start;margin-bottom:30px}.action-btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .3s ease}.action-btn.primary{background:linear-gradient(135deg,#4f8cff,#3358e6);box-shadow:0 4px 15px #4f8cff4d;color:#fff}.action-btn.primary:hover{box-shadow:0 6px 20px #4f8cff66;transform:translateY(-2px)}.action-btn.secondary{background:#353945;border:1px solid #4a4f5c;color:#b5bac1}.action-btn.secondary:hover{background:#4a4f5c;color:#fff}.dashboard-content{background:#23272f;border:none;box-shadow:none;margin-top:0;padding:0}.dashboard-section{margin-bottom:3rem}.dashboard-section h2{border-bottom:1px solid #353945;color:#fff;font-size:1.4rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.courses-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:20px}.course-card{background:#2d313a;border:1px solid #353945;border-radius:12px;cursor:pointer;overflow:hidden;padding:25px;position:relative;transition:all .3s ease}.course-card:hover{border-color:#4f8cff;box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}.course-title{color:#fff;font-size:22px;font-weight:700;margin:0 0 15px}.course-description{color:#b5bac1;font-size:14px;line-height:1.5;margin:0 0 20px}.course-info{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.course-info small{color:#8a8f98;font-size:12px}.course-info strong{color:#4f8cff;font-weight:600}.course-footer{border-top:1px solid #353945;padding-top:15px;text-align:center}.assignments-list{display:flex;flex-direction:column;gap:20px}.assignment-item{padding:20px}.assignment-item:hover{box-shadow:0 8px 25px #0000004d}.assignment-header{margin-bottom:10px}.due-date{padding:4px 8px}.assignment-description{margin:0 0 15px}.assignment-footer{align-items:center;display:flex;justify-content:space-between}.empty-state{padding:60px 20px}.empty-state h2,.empty-state h3{color:#fff;font-size:24px;margin:0 0 15px}.empty-state p{font-size:16px;line-height:1.5}.loading{font-size:18px;padding:60px 20px}.modal{padding:30px;width:90%}.modal h3{font-size:24px;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group input{background:#353945;border:1px solid #4a4f5c;border-radius:8px;box-sizing:border-box;color:#fff;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#4f8cff;box-shadow:0 0 0 2px #4f8cff1a;outline:none}.form-group input::placeholder{color:#8a8f98}.modal-actions{gap:15px}.modal-actions button{border-radius:6px;font-size:14px;padding:10px 20px;transition:all .3s ease}.modal-actions button:hover{transform:translateY(-1px)}@media (max-width:768px){.dashboard{padding:15px}.dashboard-content{padding:0}.courses-grid{gap:20px;grid-template-columns:1fr}.course-card{padding:20px}.assignment-header{align-items:flex-start;flex-direction:column;gap:10px}.modal{margin:20px;padding:20px}}.course-header{background:#23272f;border:none;border-radius:16px;box-shadow:none;margin-bottom:30px;padding:30px}.course-header h2{color:#fff;font-size:28px;margin:0 0 10px}.course-header p{color:#b5bac1;font-size:16px;margin:0 0 20px}.course-actions{display:flex;gap:15px;margin-top:20px}.assignments-list{margin-top:20px}.assignment-item{background:#2d313a;border:1px solid #353945;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;margin-bottom:16px;padding:24px;transition:all .3s ease}.assignment-item:hover{background:#353945;border-color:#4f8cff;box-shadow:0 4px 16px #4f8cff26;transform:translateY(-2px)}.assignment-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.assignment-header h4{color:#fff;flex:1 1;font-size:18px;font-weight:600;margin:0}.due-date{background:#ff6b6b1a;border:1px solid #ff6b6b33;color:#ff6b6b;font-size:12px;padding:4px 12px}.assignment-description{font-size:14px;margin:10px 0}.assignment-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}.assignment-actions .action-btn{flex:1 1;font-size:14px;min-width:120px;padding:8px 16px;text-align:center}.assignment-footer{border-top:1px solid #353945;padding-top:15px;text-align:center}.click-hint{color:#4f8cff;font-size:12px;font-weight:500;opacity:.8}.assignments-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));padding:1rem 0}.assignment-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem;transition:all .3s ease}.assignment-card:hover{background:#ffffff14;border-color:#4f8cff4d;box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.assignment-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.assignment-title{color:#fff;flex:1 1;font-size:1.2rem;font-weight:600;line-height:1.3;margin:0}.due-date{background:#ffd7001a;border:1px solid #ffd70033;border-radius:6px;color:gold;font-size:.8rem;font-weight:500;margin-left:1rem;padding:.25rem .75rem;white-space:nowrap}.assignment-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#b5bac1;display:-webkit-box;font-size:.95rem;line-height:1.5;margin:0 0 1.5rem;overflow:hidden}.assignment-card-footer{align-items:center;border-top:1px solid #353945;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;padding-top:15px}.assignment-action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;text-decoration:none;transition:all .3s ease}.assignment-action-btn.check-students{background:linear-gradient(135deg,#4f8cff,#3358e6);color:#fff}.assignment-action-btn.check-students:hover{background:linear-gradient(135deg,#3358e6,#4f8cff);box-shadow:0 4px 12px #4f8cff4d;transform:translateY(-1px)}.assignment-action-btn.edit-assignment{background:#ffffff1a;border:1px solid #fff3;color:#fff}.assignment-action-btn.edit-assignment:hover{background:linear-gradient(135deg,gold,#ffb347);transform:translateY(-1px)}.assignment-action-btn.test-assignment{align-items:center;background:linear-gradient(135deg,#9b59b6,#8e44ad);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s ease}.assignment-action-btn.test-assignment:hover{background:linear-gradient(135deg,#8e44ad,#7d3c98);transform:translateY(-1px)}.btn-icon{font-size:1rem}.btn-text{font-size:.85rem}@media (max-width:768px){.assignments-grid{gap:20px;grid-template-columns:1fr}.assignment-card{padding:20px}.assignment-card-header{align-items:flex-start;flex-direction:column;gap:10px}.due-date{font-size:11px}.assignment-card-footer{flex-direction:column;gap:8px}.assignment-action-btn{justify-content:center;width:100%}}.student-list-view{margin:0 auto;max-width:1200px;padding:2rem}.student-list-header{margin-bottom:2rem;text-align:center}.student-list-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#4f8cff,#3358e6);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:2rem;font-weight:700;margin:1rem 0 .5rem}.student-list-header .subtitle{color:#b5bac1;font-size:1rem;margin:0}.back-btn{background:none;color:#fff;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1.5rem}.back-btn:hover{background:#4f8cff1a;border-color:#4f8cff}.students-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.student-bubble{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;cursor:pointer;display:flex;gap:1rem;padding:1.5rem;position:relative;transition:all .3s ease}.student-bubble:hover{background:#ffffff1a;border-color:#4f8cff4d;box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.student-avatar{align-items:center;background:linear-gradient(135deg,#4f8cff,#3358e6);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:60px;justify-content:center;width:60px}.student-info{flex:1 1;min-width:0}.student-info h4{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.student-email,.student-info h4{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-email{color:#b5bac1;font-size:.9rem;margin:0 0 .25rem}.enrolled-date{color:#888;font-size:.8rem;margin:0}.student-arrow{color:#4f8cff;font-size:1.2rem;font-weight:700;opacity:.7;transition:all .3s ease}.student-bubble:hover .student-arrow{opacity:1;transform:translateX(4px)}.empty-state{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;grid-column:1/-1;padding:3rem}.empty-state h3{color:#fff;font-size:1.5rem;margin:0 0 1rem}.empty-state p{color:#b5bac1;margin:0}.error-message{font-size:.9rem;margin-bottom:2rem;padding:1rem;text-align:center}.loading{align-items:center;display:flex;font-size:1.1rem;height:200px;justify-content:center}@media (max-width:768px){.student-list-view{padding:1rem}.students-grid{gap:1rem;grid-template-columns:1fr}.student-bubble{padding:1rem}.student-avatar{font-size:1rem;height:50px;width:50px}.student-info h4{font-size:1rem}.student-email{font-size:.8rem}.enrolled-date{font-size:.7rem}}.teacher-chat-app{display:flex;flex-direction:column;height:calc(100vh - 70px);overflow:hidden}.teacher-chat-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border-bottom:1px solid #ffffff1a;display:flex;flex-shrink:0;gap:2rem;padding:1rem 2rem}.teacher-chat-header .back-btn{background:none;border:1px solid #4a4f5c;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.teacher-chat-header .back-btn:hover{background:#4f8cff1a;border-color:#4f8cff}.teacher-chat-user-info{align-items:center;display:flex;flex:1 1;gap:1rem}.teacher-chat-user-info span{color:#fff;font-weight:600}.read-only-badge{padding:.25rem .75rem}.teacher-main-layout{display:flex;flex:1 1;flex-direction:row;min-height:0;overflow:hidden}.teacher-chat-sidebar{background:#2d313a;border-right:1px solid #353945;display:flex;flex-direction:column;flex-shrink:0;min-height:0;min-width:200px;width:280px}.sidebar-header{flex-shrink:0;padding:1rem}.sidebar-header h3{margin:0 0 .5rem}.chats-list{padding:.5rem}.chat-item{background:#ffffff0d;border:1px solid #0000;padding:.75rem}.chat-item:hover{background:#ffffff1a;border-color:#4f8cff4d}.chat-item.active{background:#4f8cff33}.chat-title{color:#fff;margin-bottom:.25rem}.chat-date{color:#b5bac1}.empty-state,.loading{color:#b5bac1;padding:1rem;text-align:center}.empty-state small{display:block;margin-top:.5rem}.teacher-chat-panel{background:#23272f;min-width:0}.teacher-chat-container,.teacher-chat-panel{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.teacher-messages-container{flex:1 1;min-height:0;overflow-y:auto;padding:1rem 1.5rem}.input-container.read-only{background:#2d313a;border-top:1px solid #353945;flex-shrink:0;padding:1rem}.message-form.disabled{display:flex;gap:.5rem}.message-form.disabled input{background:#1a1a2e;border:1px solid #353945;border-radius:8px;color:#b5bac1;flex:1 1;font-size:.9rem;padding:.75rem}.message-form.disabled button{background:#353945;border:none;border-radius:8px;color:#b5bac1;font-size:.9rem;padding:.75rem 1.5rem}.welcome-message{padding:2rem}.welcome-message p{margin:0}.message.assistant{background:#ffffff1a;border:1px solid #fff3;color:#fff}.message-content{word-wrap:break-word}.message-timestamp{font-size:.8rem}.chats-list::-webkit-scrollbar,.teacher-messages-container::-webkit-scrollbar{width:8px}.chats-list::-webkit-scrollbar-track,.teacher-messages-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.chats-list::-webkit-scrollbar-thumb,.teacher-messages-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.chats-list::-webkit-scrollbar-thumb:hover,.teacher-messages-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}#root,body,html{height:100%;margin:0;padding:0}.app{background:#23272f;color:#e6e6e6;display:flex;flex-direction:column;font-family:Inter,Segoe UI,Arial,sans-serif;height:100vh;min-height:100vh}.main-layout{display:flex;flex:1 1;height:100%;min-height:0;overflow:hidden}.chat-header{align-items:center;background:#20232a;border-bottom:1px solid #353945;box-shadow:0 2px 8px #0000001a;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.chat-header h1{color:#fff;font-size:1.8rem;font-weight:700;margin:0}.chat-container{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.messages-container{flex:1 1;min-height:0;overflow-y:auto;padding:1rem 1.5rem}.messages-wrapper{display:flex;flex-direction:column;gap:1rem;min-height:100%;padding-bottom:1rem;padding-top:1.5rem}.messages-wrapper:after{content:"";flex-shrink:0;height:2rem}.input-container{background:#2d313a;border-top:1px solid #353945;flex-shrink:0;margin:0;padding:0}.welcome-message{color:#b5bac1;padding:3rem 1rem;text-align:center}.welcome-message h2{color:#fff;font-size:1.5rem;margin:0 0 1rem}.welcome-message p{font-size:1rem;line-height:1.5;margin:0 0 .5rem}.loading-message{display:flex;justify-content:flex-start;padding:1rem}.typing-indicator{background:#353945;border:1px solid #4a4f5c;border-radius:12px;display:flex;gap:4px;padding:1rem}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#4f8cff;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.error-message{background:#ff3b301a;border:1px solid #ff3b304d;border-radius:8px;color:#ff6b6b;margin-bottom:20px;padding:15px}.back-btn{align-items:center;background:#353945;border:1px solid #4a4f5c;border-radius:8px;color:#b5bac1;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:20px;padding:12px 20px;transition:all .3s ease}.back-btn:hover{background:#4a4f5c;color:#fff;transform:translateY(-1px)}.chat-sidebar{background:#2d313a;border-right:1px solid #353945;display:flex;flex-direction:column;flex-shrink:0;min-height:0;width:280px}.sidebar-header{border-bottom:1px solid #353945;padding:1.5rem}.sidebar-header h3{color:#fff;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.new-chat-btn{background:linear-gradient(135deg,#4f8cff,#3358e6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.8rem;transition:all .2s ease;width:100%}.new-chat-btn:hover{background:linear-gradient(135deg,#3358e6,#4f8cff);box-shadow:0 4px 12px #4f8cff4d;transform:translateY(-1px)}.chats-list{flex:1 1;overflow-y:auto;padding:1rem}.chat-item{background:#353945;border:1px solid #4a4f5c;border-radius:8px;cursor:pointer;margin-bottom:.5rem;padding:1rem;transition:all .2s ease}.chat-item:hover{background:#3a3f4a;border-color:#4f8cff}.chat-item.active{background:#4f8cff;border-color:#4f8cff;color:#fff}.chat-title{align-items:center;display:flex;font-weight:600;justify-content:space-between;margin-bottom:.3rem}.chat-date{font-size:.8rem;opacity:.7}.chat-loading-indicator{margin-left:8px}.chat-loading-indicator .typing-indicator{display:flex;gap:2px}.chat-loading-indicator .typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#4f8cff;border-radius:50%;height:4px;width:4px}.chat-loading-indicator .typing-indicator span:first-child{animation-delay:-.32s}.chat-loading-indicator .typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-panel{background:#23272f;display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0;overflow:hidden}.user-info{align-items:center;display:flex;gap:1rem}.user-info span{color:#b5bac1;font-size:.9rem}.message-form{background:#2d313a;border-top:1px solid #353945;display:flex;gap:1rem;padding:1rem 1.5rem}.message-form input{background:#353945;border:1px solid #4a4f5c;border-radius:8px;color:#fff;flex:1 1;font-size:.95rem;padding:.8rem 1rem}.message-form input:focus{border-color:#4f8cff;box-shadow:0 0 0 2px #4f8cff1a;outline:none}.message-form button{background:linear-gradient(135deg,#4f8cff,#3358e6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.8rem 1.5rem;transition:all .2s ease}.message-form button:hover:not(:disabled){background:linear-gradient(135deg,#3358e6,#4f8cff);box-shadow:0 4px 12px #4f8cff4d;transform:translateY(-1px)}.message-form button:disabled{cursor:not-allowed;opacity:.5}.message{border-radius:12px;margin-bottom:.5rem;max-width:80%;padding:1rem;position:relative}.message.user{align-self:flex-end;background:linear-gradient(135deg,#4f8cff,#3358e6);color:#fff}.message.assistant{align-self:flex-start;background:#353945;border:1px solid #4a4f5c;color:#e6e6e6}.message-content{line-height:1.5;margin-bottom:.5rem;white-space:pre-wrap}.message-timestamp{font-size:.75rem;opacity:.7}.loading{color:#b5bac1;padding:2rem;text-align:center}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal{background:#2d313a;border:1px solid #353945;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:500px;padding:2rem;width:100%}.modal h3{color:#fff;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem}.modal .form-group{margin-bottom:1rem}.modal input{background:#353945;border:1px solid #4a4f5c;border-radius:8px;box-sizing:border-box;color:#fff;font-size:.95rem;padding:.8rem 1rem;width:100%}.modal input:focus{border-color:#4f8cff;box-shadow:0 0 0 2px #4f8cff1a;outline:none}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.8rem 1.5rem;transition:all .2s ease}.modal-actions button:first-child{background:#353945;border:1px solid #4a4f5c;color:#b5bac1}.modal-actions button:first-child:hover{background:#4a4f5c;color:#fff}.modal-actions button:last-child{background:linear-gradient(135deg,#4f8cff,#3358e6);color:#fff}.modal-actions button:last-child:hover{background:linear-gradient(135deg,#3358e6,#4f8cff);box-shadow:0 4px 12px #4f8cff4d;transform:translateY(-1px)}@media (max-width:768px){.main-layout{flex-direction:column;height:calc(100vh - 120px)}.chat-sidebar{border-bottom:1px solid #353945;border-right:none;height:200px;width:100%}.chat-panel{flex:1 1}.message-form,.modal-overlay{padding:1rem}.modal{padding:1.5rem}.modal-actions{flex-direction:column}}.app .main-layout .chat-panel{display:flex;flex-direction:column;height:100%}.app .main-layout .chat-panel .chat-container{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.read-only-badge{background:#ffd70033;border:1px solid #ffd7004d;border-radius:4px;color:gold;font-size:.8rem;font-weight:600;padding:.25rem .5rem}.read-only-notice{color:#b5bac1;font-size:.8rem;font-style:italic;margin-top:.5rem}.input-container.read-only{opacity:.6}.message-form.disabled{pointer-events:none}.message-form.disabled input{background:#ffffff0d;color:#888;cursor:not-allowed}.message-form.disabled button{background:#ffffff1a;color:#888;cursor:not-allowed}.empty-state{color:#b5bac1;padding:2rem;text-align:center}.empty-state p{font-size:1rem;margin:0 0 .5rem}.empty-state small{font-size:.9rem;opacity:.7}.test-chat-input{background:#2d313a;border-top:1px solid #353945;bottom:0;left:0;margin:0;padding:0;position:fixed;right:0;width:100vw;z-index:100}.test-chat .messages-container{padding-bottom:5rem}.navbar{background:#20232a;border-bottom:1px solid #353945;box-shadow:0 2px 8px #0000001a;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem}.navbar-brand{cursor:pointer;transition:opacity .2s ease}.navbar-brand:hover{opacity:.8}.navbar-brand h1{color:#fff;font-size:1.5rem;font-weight:700;margin:0}.navbar-user{align-items:center;display:flex;gap:1rem}.user-name{color:#b5bac1;font-size:.95rem}.logout-btn{background:#353945;border:1px solid #4a4f5c;border-radius:8px;color:#b5bac1;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.logout-btn:hover{background:#4a4f5c;color:#fff}@media (max-width:768px){.navbar-container{flex-direction:column;gap:1rem;padding:1rem}.navbar-brand h1{font-size:1.3rem}.navbar-user{flex-direction:column;gap:.5rem}}.dashboard-layout{background:#23272f;color:#e6e6e6;font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100vh}.dashboard-content{padding-top:0}
/*# sourceMappingURL=main.3c15c511.css.map*/