.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;border-radius:10px;padding:40px;box-shadow:0 10px 25px #0003;max-width:500px;width:100%}.auth-card h1{margin:0 0 30px;color:#333;text-align:center}.form-group{margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group label{display:block;margin-bottom:5px;color:#555;font-weight:500}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.btn-primary{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ffebee;color:#c33;padding:12px 15px;border-radius:5px;margin-bottom:20px;text-align:center;font-size:14px;font-weight:500;border-left:4px solid #c33}.field-error{display:block;color:#d32f2f;font-size:12px;margin-top:4px;margin-bottom:10px}.auth-link{text-align:center;margin-top:20px;color:#666}.auth-link a{color:#667eea;text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.join-space-section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #eee}.join-space-section h3{margin-bottom:15px;color:#333}.join-space-section form{display:flex;flex-direction:column;gap:10px}.join-space-section input{padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px;text-transform:uppercase}.spaces-list h3{margin-bottom:15px;color:#333}.space-card{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:10px;cursor:pointer;transition:all .3s;border:2px solid transparent}.space-card:hover{background:#e9ecef;transform:translate(5px)}.space-card.active{background:#e3f2fd;border-color:#667eea}.space-card h4{margin-bottom:8px;color:#333}.space-code,.space-tutor{font-size:12px;color:#666;margin-bottom:5px}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.status-badge.active{background:#4caf50;color:#fff}.status-badge.archived{background:#757575;color:#fff}.create-post{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:30px}.create-post h3{margin-bottom:15px;color:#333}.input-mode-selector{display:flex;gap:10px;margin-bottom:20px}.mode-btn{flex:1;padding:10px;border:2px solid #ddd;background:#fff;border-radius:5px;cursor:pointer;transition:all .3s}.mode-btn:hover{border-color:#667eea}.mode-btn.active{background:#667eea;color:#fff;border-color:#667eea}.file-input-section{margin-bottom:15px}.file-input-section label{display:block;margin-bottom:5px;color:#555;font-weight:500}.voice-input-section{text-align:center;margin-bottom:20px}.btn-voice{padding:15px 30px;background:#4caf50;color:#fff;border:none;border-radius:50px;font-size:16px;cursor:pointer;transition:all .3s}.btn-voice.listening{background:#f44336;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.listening-indicator{color:#f44336;margin-top:10px;font-weight:500;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.post-list{margin-top:20px}.post-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.post-list-header h3{color:#333}.post-list-header select{padding:8px 12px;border:1px solid #ddd;border-radius:5px;cursor:pointer}.post-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:15px;transition:all .3s}.post-card:hover{box-shadow:0 4px 12px #0000001a}.post-header{display:flex;justify-content:space-between;margin-bottom:15px}.post-author strong{color:#333}.post-time{display:block;font-size:12px;color:#999;margin-top:5px}.post-meta{display:flex;gap:10px;align-items:center}.difficulty-badge{padding:4px 10px;border-radius:4px;font-size:11px;color:#fff;font-weight:600}.input-type-badge{padding:4px 10px;border-radius:4px;font-size:11px;background:#e0e0e0;color:#555;font-weight:600}.post-content{margin:15px 0;color:#333;line-height:1.6}.attachments{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.attachment-preview{max-width:150px;max-height:150px;border-radius:5px;object-fit:cover}.knowledge-points{margin:15px 0;padding:10px;background:#f0f8ff;border-radius:5px}.knowledge-tag{display:inline-block;background:#667eea;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;margin:5px 5px 0 0}.tutor-response{background:#e8f5e9;padding:15px;border-radius:5px;margin-top:15px;border-left:4px solid #4caf50}.tutor-response strong{color:#2e7d32;display:block;margin-bottom:8px}.answered-time{font-size:12px;color:#666;display:block;margin-top:10px}.answer-section{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.answer-section textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;resize:vertical;margin-bottom:10px}.answer-actions{display:flex;gap:10px}.unanswered-badge{color:#ff9800;font-style:italic;margin-top:15px}.space-header{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #eee}.space-header h2{color:#333;margin-bottom:10px}.student-comments{margin-top:20px;padding:15px;background:#fff9e6;border-radius:5px;border-left:4px solid #ff9800}.student-comments strong{color:#f57c00;display:block;margin-bottom:12px;font-size:14px}.student-comment{background:#fff;padding:12px;border-radius:5px;margin-bottom:10px;border:1px solid #ffe082}.student-comment:last-child{margin-bottom:0}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.comment-author{font-weight:600;color:#f57c00;font-size:13px}.comment-time{font-size:11px;color:#999}.comment-text{color:#333;line-height:1.5;font-size:14px;margin:0}.add-comment-section{margin-top:15px;padding-top:15px;border-top:1px solid #eee}.add-comment-section textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;resize:vertical;margin-bottom:10px;font-family:inherit}.comment-actions{display:flex;gap:10px}.btn-small{padding:6px 12px;font-size:13px;border-radius:4px;border:none;cursor:pointer;transition:all .3s;font-weight:500}.create-space-section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #eee}.create-space-form{margin-top:15px}.create-space-form .form-group{margin-bottom:15px}.create-space-form label{display:block;margin-bottom:5px;color:#555;font-weight:500}.create-space-form input,.create-space-form textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:5px;font-size:14px}.participant-count{font-size:12px;color:#666;margin-bottom:5px}.qr-code-section{background:#fff;padding:20px;border-radius:8px;border:2px solid #667eea;text-align:center}.qr-code-section h4{margin-bottom:15px;color:#333}.qr-code{max-width:250px;width:100%;height:auto;margin:0 auto;display:block;border-radius:8px;box-shadow:0 2px 8px #0000001a}.space-code-display{margin-top:15px;font-size:24px;font-weight:700;color:#667eea;letter-spacing:2px}.space-time{font-size:14px;color:#666;margin-top:10px}.statistics-panel{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:30px}.statistics-panel h3{margin-bottom:20px;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.stat-card{background:#fff;padding:20px;border-radius:8px;text-align:center;box-shadow:0 2px 4px #0000001a}.stat-value{font-size:32px;font-weight:700;color:#667eea;margin-bottom:5px}.stat-label{font-size:14px;color:#666}.knowledge-summary{background:#e3f2fd;padding:20px;border-radius:8px;margin-bottom:30px;border-left:4px solid #2196f3}.knowledge-summary h3{margin-bottom:15px;color:#1565c0}.summary-content{color:#333;line-height:1.8}.summary-content strong{color:#1976d2}.tutor-dashboard .space-header{display:grid;grid-template-columns:1fr 300px;gap:30px;align-items:start}@media (max-width: 768px){.tutor-dashboard .space-header{grid-template-columns:1fr}.qr-code-section{order:-1}}.admin-tabs{display:flex;gap:10px;padding:20px;background:#f8f9fa;border-bottom:2px solid #ddd}.tab-button{padding:10px 20px;background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s}.tab-button:hover{background:#e9ecef;border-color:#999}.tab-button.active{background:#007bff;color:#fff;border-color:#007bff}.admin-dashboard .sidebar{max-height:calc(100vh - 100px)}.archive-card{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:10px;cursor:pointer;transition:all .3s;border:2px solid transparent}.archive-card:hover{background:#e9ecef;transform:translate(5px)}.archive-card.active{background:#fff3e0;border-color:#ff9800}.archive-card h4{margin-bottom:8px;color:#333}.archive-date{font-size:12px;color:#666;margin-bottom:10px}.archive-stats{display:flex;gap:15px;font-size:12px;color:#555}.archive-stats span{background:#fff;padding:4px 8px;border-radius:4px}.archive-header{margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff}.archive-header h2{margin-bottom:10px}.archive-meta{margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.3)}.archive-meta p{margin-bottom:5px}.archived-posts{margin-top:30px}.archived-posts h3{margin-bottom:20px;color:#333}.archived-post-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:15px}.archived-post-card .post-header{display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}.archived-post-card .post-content{margin:15px 0}.archived-post-card .post-content p{margin-bottom:10px;line-height:1.6}.archived-post-card .tutor-response{background:#e8f5e9;padding:10px;border-radius:5px;margin-top:10px;font-style:italic}.archived-post-card .post-meta{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}.answered-badge{padding:4px 10px;border-radius:4px;font-size:11px;background:#4caf50;color:#fff;font-weight:600}.unanswered-badge{padding:4px 10px;border-radius:4px;font-size:11px;background:#ff9800;color:#fff;font-weight:600}.user-management{padding:20px;max-width:1400px}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.user-form-card{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.users-table{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.users-table table{width:100%;border-collapse:collapse}.users-table thead{background:#f8f9fa}.users-table th{padding:15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.users-table td{padding:15px;border-bottom:1px solid #dee2e6}.users-table tbody tr:hover{background:#f8f9fa}.actions-cell{display:flex;gap:8px;flex-wrap:wrap;min-width:280px}.btn-small{padding:8px 14px;font-size:13px;border-radius:4px;border:none;cursor:pointer;transition:all .3s;font-weight:500;white-space:nowrap}.btn-edit{background:#007bff;color:#fff;box-shadow:0 2px 4px #007bff33}.btn-edit:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.btn-reset{background:#ff9800;color:#fff;box-shadow:0 2px 4px #ff980033}.btn-reset:hover{background:#e68900;transform:translateY(-1px);box-shadow:0 4px 8px #ff98004d}.btn-delete{background:#dc3545;color:#fff;box-shadow:0 2px 4px #dc354533}.btn-delete:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 4px 8px #dc35454d}.btn-small:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.role-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.role-badge.admin{background:#dc3545;color:#fff}.role-badge.tutor{background:#007bff;color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:30px;border-radius:8px;max-width:500px;width:90%;box-shadow:0 4px 20px #0000004d}.modal-content h3{margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.form-actions{display:flex;gap:10px;margin-top:20px}.App{min-height:100vh}.dashboard{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{background:#fff;padding:20px 30px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{color:#333;font-size:24px}.user-info{display:flex;align-items:center;gap:20px}.user-info span{font-weight:500;color:#555}.dashboard-content{display:grid;grid-template-columns:350px 1fr;flex:1;gap:20px;padding:20px;max-width:1600px;margin:0 auto;width:100%}.sidebar{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 8px #0000001a;height:fit-content;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto}.main-content{background:#fff;border-radius:10px;padding:30px;box-shadow:0 2px 8px #0000001a}@media (max-width: 1024px){.dashboard-content{grid-template-columns:1fr}.sidebar{position:static;max-height:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:#667eea}.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:5px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.error-message{background:#fee;color:#c33;padding:10px;border-radius:5px;margin-bottom:15px;text-align:center;border:1px solid #fcc}.success-message{background:#efe;color:#3c3;padding:10px;border-radius:5px;margin-bottom:15px;text-align:center;border:1px solid #cfc}.info-message{background:#eef;color:#33c;padding:10px;border-radius:5px;margin-bottom:15px;text-align:center;border:1px solid #ccf}.empty-state{text-align:center;color:#999;padding:20px;font-style:italic}.empty-state-main{text-align:center;padding:60px 20px;color:#666}.empty-state-main h2{margin-bottom:10px;color:#333}
