*{padding:0}*,body{margin:0}body{background-color:#fff;color:#3c4043;font-family:Google Sans,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background-color:#dadce0;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#bdc1c6}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid #1967d2;outline-offset:2px}.course-card{background-color:#fff;border-radius:8px;box-shadow:0 1px 2px 0 #3c40434d,0 1px 3px 1px #3c404326;cursor:pointer;overflow:hidden;transition:box-shadow .3s ease;width:100%}.course-card:hover{box-shadow:0 1px 3px 0 #3c40434d,0 4px 8px 3px #3c404326}.course-card-header{color:#fff;height:180px;overflow:hidden;padding:16px;position:relative}.course-card-header-overlay{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><defs><linearGradient id="grad" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="0%" style="stop-color:rgb(255,255,255);stop-opacity:0.1" /><stop offset="100%" style="stop-color:rgb(255,255,255);stop-opacity:0" /></linearGradient></defs><rect width="200" height="200" fill="url(%23grad)"/></svg>');background-size:cover;height:100%;opacity:.3;pointer-events:none;position:absolute;right:0;top:0;width:100%}.course-card-header-content{display:flex;flex-direction:column;gap:8px;height:100%;position:relative;z-index:1}.course-title{word-wrap:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:20px;line-height:1.2;margin:0}.course-description,.course-title{font-weight:400;overflow:hidden;text-overflow:ellipsis}.course-description{font-size:14px;margin:4px 0 0;opacity:.9;white-space:nowrap}.course-teacher{font-size:12px;font-weight:400;margin:auto 0 0;opacity:.9}.course-avatar{align-items:center;background-color:#ffffff40;border:2px solid #ffffff4d;border-radius:50%;bottom:16px;color:#fff;display:flex;font-size:28px;font-weight:400;height:64px;justify-content:center;position:absolute;right:16px;width:64px;z-index:1}.course-card-body{border-top:1px solid #e0e0e0;padding:28px 16px}.course-card-actions{display:flex;gap:4px;justify-content:flex-end}.course-action-button{align-items:center;background:none;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background-color .2s;width:36px}.course-action-button:hover{background-color:#f1f3f4}.course-menu-button{margin-left:auto}@media (max-width:768px){.course-card{max-width:100%}}.courses-page{background-color:#fff;min-height:100vh}.courses-main{background-color:#fff;margin-left:280px;min-height:calc(100vh - 64px);padding:24px;transition:margin-left .3s ease}.courses-main.sidebar-collapsed{margin-left:80px}@media (max-width:768px){.courses-main,.courses-main.sidebar-collapsed{margin-left:0}}.courses-container{margin:0 auto;max-width:1400px;padding:0 16px}.courses-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.courses-header h1{color:#3c4043;font-size:32px;font-weight:400;margin:0}.courses-header-buttons{display:flex;gap:12px}.create-course-btn,.join-course-btn{background-color:#1a73e8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:background-color .2s}.create-course-btn:hover,.join-course-btn:hover{background-color:#1557b0}.join-course-btn{background-color:#fff;border:1px solid #1a73e8;color:#1a73e8}.join-course-btn:hover{background-color:#e8f0fe}.error,.loading{font-size:16px}.empty-state{padding:60px 20px}.empty-state p{color:#5f6368;font-size:18px;margin-bottom:20px}.empty-state button{background-color:#1a73e8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px}.empty-state button:hover{background-color:#1557b0}.modal-content{max-height:90vh;max-width:500px;overflow-y:auto}.modal-content h2{color:#3c4043;font-size:24px;font-weight:400;margin:0 0 20px}.form-group label{color:#5f6368}.form-group input,.form-group textarea{box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{border-color:#1a73e8}.form-group textarea{min-height:100px}.form-group .error-text{color:#d93025;font-size:12px;margin-top:4px}.form-group input.error,.form-group textarea.error{border-color:#d93025}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:24px}.modal-actions button{background-color:initial;border:none;border-radius:4px;color:#1a73e8;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:background-color .2s}.modal-actions button:hover{background-color:#f1f3f4}.modal-actions button.primary{background-color:#1a73e8;color:#fff}.modal-actions button.primary:hover{background-color:#1557b0}.courses-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:8px 0}@media (max-width:1200px){.courses-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.courses-main{padding:16px}.courses-grid{gap:16px;grid-template-columns:1fr}.courses-header{align-items:flex-start;flex-direction:column;gap:16px}}@media (max-width:480px){.courses-main{padding:12px}.courses-grid{gap:12px}.courses-header-buttons{width:100%}.create-course-btn,.join-course-btn{flex:1 1}}.courses-grid>*{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stream-tab{display:flex;flex-direction:column;gap:24px}.stream-actions{display:flex;justify-content:flex-start}.create-post-button{align-items:center;background:#1967d2;border:none;border-radius:24px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 24px;transition:background .2s}.create-post-button:hover{background:#1557b0}.create-post-button svg{height:20px;width:20px}.posts-list{display:flex;flex-direction:column;gap:16px}.post-card{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:20px;transition:box-shadow .2s}.post-card:hover{box-shadow:0 2px 6px #0000001a}.post-card.clickable{cursor:pointer}.post-card.clickable:hover{border-color:#1967d2;box-shadow:0 4px 12px #00000026}.post-header{justify-content:space-between;margin-bottom:16px}.post-author,.post-header{align-items:center;display:flex}.post-author{gap:12px}.author-avatar{align-items:center;background:#1967d2;border-radius:50%;color:#fff;display:flex;font-size:18px;font-weight:500;height:40px;justify-content:center;width:40px}.author-info{display:flex;flex-direction:column}.author-name{color:#3c4043;font-size:14px;font-weight:500}.post-date{color:#5f6368;font-size:12px}.post-type-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px;text-transform:uppercase}.post-type-badge.material{background:#e8f0fe;color:#1967d2}.post-type-badge.task{background:#fef7e0;color:#e37400}.post-content{margin-bottom:16px}.post-title{color:#3c4043;font-size:20px;font-weight:400;margin:0 0 12px}.post-text{word-wrap:break-word;color:#5f6368;font-size:14px;line-height:1.6;margin-bottom:12px;overflow-wrap:break-word;white-space:pre-wrap}.post-deadline{align-items:center;background:#fef7e0;border-radius:4px;color:#e37400;display:flex;font-size:13px;gap:8px;padding:8px 12px}.post-deadline svg{flex-shrink:0}.post-footer{align-items:center;border-top:1px solid #e8eaed;display:flex;justify-content:space-between;padding-top:12px}.post-stats{display:flex;gap:16px}.stat-item{align-items:center;color:#5f6368;display:flex;font-size:13px;gap:6px}.stat-item svg{fill:#5f6368;height:16px;width:16px}.stat-item.submitted{color:#188f58}.stat-item.submitted svg{fill:#188f58}.stat-item-materials{cursor:pointer}.stat-item-materials:hover{color:#1967d2}.stat-item-materials:hover svg{fill:#1967d2}.stat-item-comments{cursor:pointer}.stat-item-comments:hover{color:#1967d2}.stat-item-comments:hover svg{fill:#1967d2}.post-materials{display:flex;flex-direction:column;gap:8px;margin-top:8px}.post-material-item{align-items:center;background:#f1f3f4;border:none;border-radius:4px;color:#3c4043;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;text-align:left}.post-material-item:hover{background:#e8eaed}.post-material-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-materials-status{color:#5f6368;font-size:13px}.modal-content{background:#fff;border-radius:8px;max-width:600px;padding:24px;width:90%}@media (max-width:768px){.post-card{padding:16px}.post-title{font-size:18px}.empty-state{padding:32px 20px}}.post-header-right{align-items:center;display:flex;gap:12px}.post-actions{display:flex;gap:4px}select{background:#fff;border:1px solid #dadce0;border-radius:4px;color:#3c4043;cursor:pointer;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}select:focus{border-color:#1967d2;outline:none}.file-upload{margin-bottom:12px}.file-upload-button{background:#fff;color:#1967d2;display:flex;font-weight:500;padding:10px 16px}.file-item,.file-upload-button:hover{background:#f1f3f4}.file-item span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item button{align-items:center;background:none;display:flex;height:20px;justify-content:center;padding:0;width:20px}.delete-existing-file-button{background:#fff5f4;border:1px solid #f1c7c3;border-radius:4px;color:#b3261e;font-size:12px;font-weight:600;height:auto;padding:4px 8px;width:auto}.assignments-tab{display:flex;flex-direction:column;gap:24px}.assignments-header h2{color:#3c4043;font-size:24px;font-weight:400;margin:0}.assignments-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.assignment-card{background:#fff;border:1px solid #dadce0;border-radius:8px;cursor:pointer;padding:20px;transition:all .2s}.assignment-card:hover{border-color:#1967d2;box-shadow:0 2px 8px #0000001a}.assignment-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.assignment-card-header h3{color:#3c4043;flex:1 1;font-size:16px;font-weight:500;margin:0}.submitted-badge{align-items:center;background:#e6f4ea;border-radius:12px;color:#188f58;display:flex;font-size:12px;font-weight:500;gap:4px;padding:4px 8px;white-space:nowrap}.assignment-preview{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:#5f6368;display:-webkit-box;font-size:14px;line-height:1.5;margin:0 0 16px;overflow:hidden;text-overflow:ellipsis}.assignment-card-footer{align-items:center;border-top:1px solid #e8eaed;display:flex;justify-content:space-between;padding-top:12px}.deadline{align-items:center;color:#e37400;display:flex;font-size:13px;gap:6px}.deadline.past{color:#d93025}.assignment-stats{color:#5f6368;display:flex;font-size:13px;gap:12px}.assignment-detail{display:flex;flex-direction:column;gap:24px}.back-button{align-self:flex-start;background:#0000;border:1px solid #dadce0;border-radius:4px;color:#1967d2;padding:8px 16px;transition:all .2s}.back-button:hover{background:#e8f0fe}.back-button svg{height:20px;width:20px}.assignment-content{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:24px}.assignment-header{margin-bottom:20px}.assignment-header h2{color:#3c4043;font-size:28px;font-weight:400;margin:0 0 16px}.assignment-header .deadline{align-items:center;background:#fef7e0;border-radius:4px;display:inline-flex;gap:8px;padding:8px 12px}.assignment-header .deadline.past{background:#fce8e6}.assignment-description{color:#3c4043;font-size:15px;line-height:1.6;margin-bottom:24px;white-space:pre-wrap}.assignment-materials{border-top:1px solid #e8eaed;margin-top:24px;padding-top:24px}.assignment-materials h3{font-size:18px;font-weight:400;margin:0 0 16px}.student-section{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:24px}.my-solution{display:flex;flex-direction:column;gap:16px}.solution-header h3{font-size:20px;font-weight:400;margin:0}.status-badge{font-size:13px;padding:6px 12px}.status-badge.submitted{background:#e8f0fe;color:#1967d2}.status-badge.graded{background:#e6f4ea;color:#188f58}.solution-text{background:#f8f9fa;border-radius:4px;font-size:14px;line-height:1.6;padding:16px;white-space:pre-wrap}.solution-files,.solution-grade{background:#f8f9fa;border-radius:4px;padding:12px 16px}.solution-files h4{font-size:14px;font-weight:500;margin:0 0 8px}.solution-grade{align-items:center;display:flex;gap:12px}.grade-date{color:#5f6368}.edit-solution-button{align-self:flex-start;background:#0000;border:1px solid #1967d2;border-radius:4px;color:#1967d2;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.edit-solution-button:hover{background:#e8f0fe}.start-submit-button{background:#1967d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 32px;transition:background .2s}.start-submit-button:hover{background:#1557b0}.submit-form{gap:20px}.submit-form h3{font-size:20px;font-weight:400;margin:0}.solution-textarea{border-radius:4px;min-height:150px}.solution-textarea:focus{border-color:#1967d2}.file-upload{flex-direction:column;gap:12px}.file-upload-button{align-items:center;align-self:flex-start;background:#0000;border:1px solid #dadce0;border-radius:4px;color:#5f6368;cursor:pointer;display:inline-flex;font-size:14px;gap:8px;padding:10px 20px;transition:all .2s}.file-upload-button:hover{background:#f8f9fa;border-color:#1967d2;color:#1967d2}.file-item{background:#f8f9fa;justify-content:space-between}.file-item button{background:#0000;border:none;color:#5f6368;cursor:pointer;font-size:16px;padding:4px 8px}.file-item button:hover{color:#d93025}.submit-button:hover:not(:disabled){background:#1557b0}.submit-button:disabled{background:#dadce0;cursor:not-allowed}.teacher-section{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:24px}.teacher-section h3{font-size:20px;font-weight:400}.no-solutions{color:#5f6368;padding:48px 24px;text-align:center}.solution-card{background:#fafafa;padding:20px}.solution-card.late{background:#fce8e6}.solution-student{align-items:center;display:flex;gap:12px;margin-bottom:16px}.student-avatar{background:#1967d2;flex-shrink:0;font-size:18px}.student-info{flex:1 1}.student-name{color:#3c4043;font-size:15px}.late-submission-badge{background:#d93025}.solution-content{margin-bottom:16px}.solution-content p{color:#3c4043;font-size:14px;line-height:1.6;margin:0 0 12px;white-space:pre-wrap}.files-info{color:#5f6368;font-size:13px}.graded-info{background:#e6f4ea;border-radius:4px;color:#188f58;font-size:14px;padding:12px}.grade-form,.graded-info{align-items:center;display:flex;gap:12px}.grade-form input{border:1px solid #dadce0;border-radius:4px;font-size:14px;padding:8px 12px;width:150px}.grade-form input:focus{border-color:#1967d2;outline:none}.grade-form button{background:#1967d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .2s}.grade-form button:hover{background:#1557b0}.remove-grade-button{background:#0000;border:1px solid #f2b8b5;border-radius:4px;color:#d93025;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px}.remove-grade-button:hover{background:#fce8e6}.placeholder{color:#5f6368;font-style:italic}@media (max-width:768px){.assignments-list{grid-template-columns:1fr}.assignment-content,.student-section,.teacher-section{padding:16px}.form-actions{flex-direction:column}.form-actions button{width:100%}}.assignments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.create-assignment-button{align-items:center;background:#1967d2;border:none;border-radius:24px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background .2s}.create-assignment-button:hover{background:#1557b0}.assignment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.assignment-header-left{flex:1 1}.assignment-actions{display:flex;gap:4px}.icon-button{height:32px;transition:background .2s;width:32px}.icon-button:hover{background:#f1f3f4}.modal-dialog{max-width:600px}.close-button{transition:background .2s}.button-primary,.button-secondary{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.button-primary{background:#1967d2;color:#fff}.button-primary:hover{background:#1557b0}.button-secondary{background:#fff;border:1px solid #dadce0;color:#1967d2}.button-secondary:hover{background:#f1f3f4}.captain-grade-dialog{border-radius:14px;max-width:680px}.captain-grade-header-content{display:flex;flex-direction:column;gap:4px}.captain-grade-header-content h2{color:#202124;font-size:22px;font-weight:400;margin:0}.captain-grade-header-content p{color:#5f6368;font-size:13px;margin:0}.captain-grade-body{display:flex;flex-direction:column;gap:12px}.captain-grade-hint{background:#f3f7ff;border:1px solid #d2e3fc;border-radius:10px;color:#174ea6;font-size:13px;padding:10px 12px}.captain-grade-row{align-items:center;background:#f8f9fa;border:1px solid #dadce0;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.captain-grade-student{display:flex;flex-direction:column;min-width:0}.captain-grade-name{color:#202124;font-size:15px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.captain-grade-input-wrap{align-items:center;display:flex;gap:8px}.captain-grade-input{background:#fff;border:1px solid #c6dafc;border-radius:10px;color:#202124;font-size:15px;padding:10px 12px;width:88px}.captain-grade-input:focus{border-color:#1967d2;box-shadow:0 0 0 2px #1967d229;outline:none}.captain-grade-input-label{color:#5f6368;font-size:13px}@media (max-width:640px){.captain-grade-row{align-items:flex-start;flex-direction:column}.captain-grade-input,.captain-grade-input-wrap{width:100%}}.people-tab{display:flex;flex-direction:column;gap:32px}.members-section{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:24px}.members-list{display:flex;flex-direction:column;gap:12px}.member-card{align-items:center;background:#fafafa;border:1px solid #e8eaed;border-radius:8px;display:flex;gap:16px;padding:16px;transition:all .2s}.member-card:hover{background:#f8f9fa;box-shadow:0 1px 3px #0000001a}.member-avatar{align-items:center;background:#1967d2;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:500;height:48px;justify-content:center;width:48px}.member-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.member-name{color:#3c4043;font-size:16px;font-weight:500}.member-username{color:#5f6368;font-size:14px}.member-joined{color:#80868b;font-size:13px}.member-actions{align-items:center;display:flex;gap:12px}.role-badge{border-radius:12px;font-size:13px;font-weight:500;padding:6px 12px}.role-badge.teacher{background:#e8f0fe;color:#1967d2}.role-badge.student{background:#fef7e0;color:#e37400}.remove-button{background:#0000;border:none;border-radius:4px;color:#5f6368;cursor:pointer;padding:6px;transition:all .2s}.remove-button:hover{background:#fce8e6;color:#d93025}.invites-section{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:24px}.create-invite-button{align-items:center;background:#1967d2;border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background .2s}.create-invite-button:hover{background:#1557b0}.create-invite-form{background:#f8f9fa;border:1px solid #e8eaed;border-radius:8px;margin-bottom:20px;padding:20px}.create-invite-form h3{color:#3c4043;font-size:18px;font-weight:400;margin:0 0 20px}.invites-list{display:flex;flex-direction:column;gap:12px}.invite-card{align-items:center;background:#fafafa;border:1px solid #e8eaed;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:all .2s}.invite-card.inactive{background:#f1f3f4;opacity:.6}.invite-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.invite-code{color:#3c4043;font-size:15px}.invite-code strong{font-weight:500}.invite-details{color:#5f6368;display:flex;flex-wrap:wrap;font-size:13px;gap:16px}.invite-status{color:#5f6368;font-size:13px;font-style:italic}.invite-actions{display:flex;gap:8px}.copy-button,.delete-button{background:#0000;border:none;border-radius:4px;color:#5f6368;cursor:pointer;padding:8px;transition:all .2s}.copy-button:hover{background:#e8f0fe;color:#1967d2}.empty-invites,.empty-state{color:#5f6368;font-size:14px;padding:32px 24px;text-align:center}.danger-zone{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:24px}.danger-zone h3{color:#d93025;font-size:18px;font-weight:400;margin:0 0 12px}.danger-zone p{color:#5f6368;font-size:14px;line-height:1.5;margin:0 0 16px}.leave-course-button{background:#0000;border:2px solid #d93025;border-radius:4px;color:#d93025;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.leave-course-button:hover{background:#d93025;color:#fff}.teams-tab{display:flex;flex-direction:column;gap:24px}.teams-section{background:#fff;border-radius:16px;box-shadow:0 2px 10px #0f172a14;padding:24px}.cancel-button,.create-team-button,.retry-button,.submit-button{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px}.create-team-button,.submit-button{align-items:center;background:#1976d2;color:#fff;display:inline-flex;gap:8px}.cancel-button,.retry-button{background:#f1f3f4;color:#3c4043}.create-team-form{background:#fafbfc;border:1px solid #e8eaed;border-radius:14px;margin-bottom:24px;padding:20px}.create-team-form h3{color:#202124;margin:0 0 16px}.form-group label{font-weight:600}.form-group input[type=text]{border:1px solid #dadce0;border-radius:10px;font-size:14px;padding:12px 14px;width:100%}.selection-list{grid-gap:10px;background:#fff;border:1px solid #e8eaed;border-radius:10px;display:grid;gap:10px;max-height:220px;overflow-y:auto;padding:12px}.selection-item{align-items:center;color:#3c4043;display:flex;font-size:14px;gap:10px}.empty-state,.loading-state,.members-empty,.selection-empty{color:#5f6368;font-size:14px}.form-error{color:#b3261e;font-size:14px;margin-bottom:16px}.teams-error-state{align-items:center;background:#fce8e6;border-radius:12px;color:#b3261e;display:flex;gap:12px;justify-content:space-between;padding:16px}.teams-list{grid-gap:16px;gap:16px}.course-team-card{background:#fff;border:1px solid #e8eaed;border-radius:14px;padding:18px}.course-team-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.course-team-header h3{color:#202124;margin:0 0 6px}.course-team-meta{color:#5f6368;display:flex;flex-wrap:wrap;font-size:14px;gap:12px}.course-team-badges{display:flex;flex-wrap:wrap;gap:8px}.course-team-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;padding:5px 10px}.course-team-badge.full{background:#fce8e6;color:#b3261e}.course-team-badge.open{background:#e8f0fe;color:#1967d2}.course-team-block+.course-team-block{margin-top:14px}.block-label{color:#5f6368;font-size:13px;font-weight:700;letter-spacing:.03em;margin-bottom:8px;text-transform:uppercase}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.team-chip,.team-member-category{align-items:center;background:#f1f3f4;border-radius:999px;color:#3c4043;display:inline-flex;font-size:13px;padding:6px 10px}.team-members-list{grid-gap:10px;gap:10px}.team-member-item{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}@media (max-width:768px){.course-team-header,.form-actions,.team-member-item,.teams-error-state{align-items:flex-start;flex-direction:column}.form-actions button{width:100%}}.main-content{background-color:#f5f5f5;margin-left:280px;min-height:calc(100vh - 64px);transition:margin-left .3s ease}.main-content.sidebar-collapsed{margin-left:80px}@media (max-width:768px){.main-content,.main-content.sidebar-collapsed{margin-left:0}}.course-header{align-items:flex-end;display:flex;height:240px;overflow:hidden;padding:24px 32px;position:relative}.course-header:before{background:linear-gradient(135deg,#0000,#0000001a);-webkit-clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);clip-path:polygon(30% 0,100% 0,100% 100%,0 100%);content:"";height:100%;position:absolute;right:0;top:0;width:60%}.course-header-content{color:#fff;position:relative;z-index:2}.course-page-title{color:#fff;font-size:36px;font-weight:400;margin:0 0 8px}.course-page-subtitle{color:#fff;font-size:20px;font-weight:400;margin:0;opacity:.9}.course-header-overlay{background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400"><path fill="url(%23grad)" d="M200 0h200v400H0z"/></svg>') no-repeat 100%;background-size:contain;height:100%;pointer-events:none;position:absolute;right:0;top:0;width:40%}.course-tabs{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:0;padding:0 32px;position:-webkit-sticky;position:sticky;top:64px;z-index:10}.course-tab{background:#0000;border:none;color:#5f6368;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:.5px;padding:16px 24px;position:relative;text-transform:uppercase;transition:color .2s}.course-tab:hover{background:#1967d20a;color:#1967d2}.course-tab.active{color:#1967d2}.course-tab.active:after{background:#1967d2;bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.course-content{margin:0 auto;max-width:1200px;padding:24px 32px}.stream-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 300px}.stream-main{order:2}.upcoming-section{order:1}.upcoming-card{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:20px}.upcoming-title{color:#3c4043;font-size:16px;font-weight:500;margin:0 0 12px}.upcoming-text{color:#5f6368;font-size:14px;line-height:1.5;margin:0 0 16px}.upcoming-button{background:#fff;border:1px solid #1967d2;border-radius:24px;color:#1967d2;cursor:pointer;font-size:14px;font-weight:500;padding:10px;transition:all .2s;width:100%}.upcoming-button:hover{background:#e8f0fe}.new-announcement-button{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:8px;color:#5f6368;cursor:pointer;display:flex;font-size:14px;gap:12px;margin-bottom:24px;padding:16px 20px;transition:all .2s;width:100%}.new-announcement-button:hover{border-color:#1967d2;box-shadow:0 1px 3px #0000001f}.new-announcement-button svg{color:#5f6368}.empty-state{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:48px 32px;text-align:center}.empty-state-icon{display:flex;justify-content:center;margin-bottom:24px}.empty-state-title{color:#3c4043;font-size:22px;font-weight:400;margin:0 0 12px}.empty-state-description{color:#5f6368;font-size:14px;line-height:1.5;margin:0}.assignments-content,.people-content{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:32px}@media (max-width:968px){.stream-layout{grid-template-columns:1fr}.stream-main{order:1}.upcoming-section{order:2}}@media (max-width:768px){.course-header{height:180px;padding:16px 20px}.course-page-title{font-size:28px}.course-page-subtitle{font-size:16px}.course-tabs{overflow-x:auto;padding:0 16px}.course-tab{font-size:13px;padding:14px 16px;white-space:nowrap}.course-content{padding:16px}.empty-state{padding:32px 20px}.empty-state-title{font-size:18px}}@media (max-width:480px){.course-header{height:140px;padding:12px 16px}.course-page-title{font-size:22px}.course-page-subtitle{font-size:14px}.empty-state-icon svg{height:80px;width:80px}}.course-header-actions{position:absolute;right:16px;top:16px;z-index:3}.course-menu-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:background .2s;width:40px}.course-menu-button:hover{background:#ffffff4d}.course-menu-dropdown{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;min-width:200px;overflow:hidden;position:absolute;right:0;top:48px;z-index:100}.course-menu-dropdown button{align-items:center;background:none;border:none;color:#3c4043;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.course-menu-dropdown button:hover{background:#f1f3f4}.course-menu-dropdown button.danger{color:#d93025}.course-menu-dropdown button.danger:hover{background:#fce8e6}.modal-overlay{background:#00000080;padding:16px}.modal-dialog{border-radius:8px;box-shadow:0 8px 16px #00000040;max-height:90vh;overflow:auto;width:100%}.modal-header{border-bottom:1px solid #e0e0e0}.modal-header h2{color:#3c4043}.close-button{height:32px;width:32px}.close-button:hover{background:#f1f3f4}.modal-body p{color:#5f6368;font-size:14px;line-height:1.6;margin:0}.modal-footer{border-top:1px solid #e0e0e0}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group input,.form-group textarea{border:1px solid #dadce0;border-radius:4px;color:#3c4043;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#1967d2;outline:none}.form-group textarea{min-height:80px;resize:vertical}.categories-tab{display:flex;flex-direction:column;gap:32px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#3c4043;font-size:24px;font-weight:400;margin:0}.filter-buttons{display:flex;gap:8px}.filter-buttons button{background:#0000;border:1px solid #dadce0;border-radius:20px;color:#5f6368;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.filter-buttons button:hover{background:#f8f9fa}.filter-buttons button.active{background:#e8f0fe;border-color:#1967d2;color:#1967d2}.categories-section{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:24px}.create-category-button{align-items:center;background:#1967d2;border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background .2s}.create-category-button:hover{background:#1557b0}.form-group label{color:#3c4043}.form-group input,.form-group select{background:#fff;border:1px solid #dadce0;border-radius:4px;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus,.form-group select:focus{border-color:#1967d2;outline:none}.form-actions{gap:12px;margin-top:20px}.cancel-button{background:#0000;border:1px solid #dadce0;border-radius:4px;color:#5f6368;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.cancel-button:hover{background:#f8f9fa}.submit-button{background:#1967d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:background .2s}.submit-button:hover{background:#1557b0}.categories-list{display:flex;flex-direction:column;gap:12px}.category-card{align-items:center;background:#fafafa;border:1px solid #e8eaed;border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:all .2s}.category-card.inactive{background:#f1f3f4;opacity:.6}.category-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.category-code{color:#3c4043;font-size:15px}.category-code strong{font-weight:500}.category-details{color:#5f6368;display:flex;flex-wrap:wrap;font-size:13px;gap:16px}.category-status{color:#5f6368;font-size:13px;font-style:italic}.category-actions{display:flex;gap:8px}.delete-button,.edit-button{background:#0000;border:none;border-radius:4px;color:#5f6368;cursor:pointer;padding:8px;transition:all .2s}.edit-button:hover{background:#e8f0fe;color:#1967d2}.delete-button:hover{background:#fce8e6;color:#d93025}.empty-categories,.empty-state{color:#5f6368;font-size:14px;padding:32px 24px;text-align:center}@media (max-width:768px){.section-header{align-items:flex-start;flex-direction:column;gap:16px}.filter-buttons{justify-content:space-between;width:100%}.filter-buttons button{flex:1 1;text-align:center}.member-card{flex-wrap:wrap}.member-actions{justify-content:space-between;width:100%}.invite-card{align-items:flex-start;flex-direction:column;gap:12px}.invite-actions{align-self:flex-end}}.task-detail-page{background-color:#f5f5f5;margin-left:280px;min-height:calc(100vh - 64px);padding:24px;transition:margin-left .3s ease}.task-detail-page.sidebar-collapsed{margin-left:80px}@media (max-width:768px){.task-detail-page,.task-detail-page.sidebar-collapsed{margin-left:0}}.offline-banner{align-items:center;background-color:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404;display:flex;gap:8px;margin:0 auto 24px;max-width:900px;padding:12px 16px}.task-detail-container{margin:0 auto;max-width:1200px}.task-detail-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 360px}@media (max-width:968px){.task-detail-layout{grid-template-columns:1fr}}.task-main-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.back-button{align-items:center;background:none;border:none;border-bottom:1px solid #e8eaed;color:#5f6368;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:16px 24px;text-align:left;transition:background-color .2s;width:100%}.back-button:hover{background-color:#f1f3f4}.task-header{border-bottom:1px solid #e8eaed;gap:12px;padding:20px 24px}.task-header,.task-icon{align-items:center;display:flex}.task-icon{background-color:#ff6b35;border-radius:50%;color:#fff;flex-shrink:0;height:40px;justify-content:center;width:40px}.task-header-content,.task-header-info{flex:1 1;min-width:0}.task-title{color:#202124;font-size:20px;font-weight:500;margin:0 0 4px}.task-meta{align-items:center;display:flex;font-size:13px;gap:8px;margin-top:4px}.task-author,.task-date,.task-meta,.task-separator{color:#5f6368}.task-info-row{align-items:center;border-bottom:1px solid #e8eaed;display:flex;font-size:14px;gap:16px;padding:16px 24px}.task-points{color:#202124;font-weight:500}.task-deadline{color:#5f6368}.task-deadline.deadline-past{color:#d93025}.task-deadline.deadline-active{color:#1e8e3e}.task-description{border-bottom:1px solid #e8eaed;padding:24px}.task-description h3{color:#202124;font-size:16px;font-weight:500;margin:0 0 12px}.task-description p{word-wrap:break-word;color:#5f6368;line-height:1.6;margin:0;overflow-wrap:break-word;white-space:pre-wrap}.task-materials{padding:24px}.task-materials h3{color:#202124;font-size:16px;font-weight:500;margin:0 0 12px}.task-materials-list{display:flex;flex-direction:column;gap:10px}.teams-section{display:flex;flex-direction:column;gap:16px}.teams-section-header h3{color:#202124;font-size:18px;font-weight:600;margin:0 0 8px}.teams-section-header p{color:#5f6368;margin:0}.teams-state{background:#f8f9fa;border:1px dashed #dadce0;border-radius:12px;color:#5f6368;font-size:14px;padding:16px}.teams-state-error{align-items:center;background:#fce8e6;border-color:#f1b5b0;border-style:solid;color:#b3261e;display:flex;gap:12px;justify-content:space-between}.teams-state-success{background:#e6f4ea;border-color:#b7dfc2;border-style:solid;color:#137333}.available-teams-panel,.current-team-panel{display:flex;flex-direction:column;gap:12px}.current-team-header h4{color:#202124;font-size:16px;font-weight:600;margin:0}.teams-list{grid-gap:12px;display:grid;gap:12px}.teacher-free-create-form{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 180px auto}.teacher-free-field{display:flex;flex-direction:column;gap:6px}.teacher-free-field span{color:#5f6368;font-size:13px}.teacher-free-field input{border:1px solid #dadce0;border-radius:10px;box-sizing:border-box;color:#202124;font-size:14px;padding:10px 12px;width:100%}.teacher-free-field input:focus{border-color:#1967d2;outline:none}@media (max-width:768px){.teacher-free-create-form{align-items:stretch;grid-template-columns:1fr}}.team-card{background:#fff;border:1px solid #dadce0;border-radius:12px;padding:16px 18px;transition:border-color .2s ease,box-shadow .2s ease}.team-card-unavailable{background:#fafbfc;border-color:#e2e5e9}.team-card-current{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21f}.team-card-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.team-name{color:#202124;font-size:16px;font-weight:600;margin:0 0 6px}.team-capacity{color:#5f6368;font-size:14px}.team-created-at,.team-joined-at{color:#5f6368;font-size:13px;margin-top:6px}.team-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.team-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;padding:5px 10px;white-space:nowrap}.team-badge-current{background:#e3f2fd;color:#1565c0}.team-badge-full{background:#fce8e6;color:#b3261e}.team-badge-locked,.team-unavailable-reason{background:#fff8e1;color:#8d6e00}.team-unavailable-reason{border:1px solid #f1d18a;border-radius:10px;font-size:13px;margin-top:12px;padding:8px 10px}.team-categories{margin-top:14px}.team-categories,.team-members-section{display:flex;flex-direction:column;gap:8px}.team-members-section{margin-top:16px}.team-categories-label{color:#5f6368;font-size:13px;font-weight:600}.team-categories-list{display:flex;flex-wrap:wrap;gap:8px}.team-category-chip{align-items:center;background:#f1f3f4;border-radius:999px;color:#3c4043;display:inline-flex;font-size:13px;padding:6px 10px}.team-members-list{grid-gap:8px;display:grid;gap:8px}.team-member-row{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.team-member-name{color:#202124;font-size:14px;font-weight:500}.team-member-category{align-items:center;background:#f1f3f4;border-radius:999px;color:#3c4043;display:inline-flex;font-size:13px;padding:6px 10px}.team-actions{display:flex;justify-content:flex-end;margin-top:14px}.auto-formation-section{display:flex;flex-direction:column;gap:16px}.auto-formation-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.auto-formation-header h3{color:#202124;font-size:18px;font-weight:600;margin:0 0 8px}.auto-formation-header p{color:#5f6368;margin:0}.auto-formation-header-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.auto-formation-form{background:#f8f9fa;border:1px solid #dadce0;border-radius:12px;padding:16px}.auto-formation-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.auto-formation-field{color:#3c4043;display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:8px}.auto-formation-field input{background:#fff;border:1px solid #dadce0;border-radius:8px;font-size:14px;padding:10px 12px}.auto-formation-options{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.auto-checkbox{align-items:center;color:#3c4043;display:inline-flex;font-size:14px;gap:8px}.auto-formation-actions{display:flex;justify-content:flex-start;margin-top:16px}.auto-formation-panels{display:flex;flex-direction:column;gap:16px}.auto-panel{display:flex;flex-direction:column;gap:12px}.auto-panel h4{color:#202124;font-size:16px;font-weight:600;margin:0}.auto-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.auto-summary-item{background:#f8f9fa;border:1px solid #dadce0;border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:14px}.auto-summary-item strong{color:#202124;font-size:22px}.auto-generated-at,.auto-summary-item span{color:#5f6368;font-size:13px}.auto-generated-at{margin-top:12px}.auto-generated-teams,.auto-students-list{grid-gap:10px;display:grid;gap:10px}.auto-note{background:#fff8e1;border:1px solid #f1d18a;border-radius:12px;color:#7a5a00;font-size:14px;padding:14px}.auto-student-item{align-items:center;background:#f8f9fa;border:1px solid #dadce0;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.auto-student-name{color:#202124;font-size:14px;font-weight:500}.captains-section{display:flex;flex-direction:column;gap:16px}.captains-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.captains-header h3{color:#202124;font-size:18px;font-weight:600;margin:0 0 8px}.captains-header p{color:#5f6368;margin:0}.captains-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.captain-role-banner{background:#e6f4ea;border:1px solid #b7dfc2;border-radius:12px;color:#137333;font-size:14px;padding:14px 16px}.student-draft-banner{background:#eef3fd;border:1px solid #d2e3fc;border-radius:12px;color:#174ea6;font-size:14px;padding:14px 16px}.captains-list{grid-gap:12px;display:grid;gap:12px}.captain-card{background:#fff;border:1px solid #dadce0;border-radius:12px;padding:16px 18px}.captain-card-current{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21f}.captain-main{display:flex;flex-direction:column;gap:6px}.captain-name-row{align-items:center;color:#202124;display:flex;flex-wrap:wrap;gap:8px}.captain-username{color:#5f6368;font-size:13px}.captain-badge{align-items:center;background:#e3f2fd;border-radius:999px;color:#1565c0;display:inline-flex;font-size:12px;font-weight:600;padding:5px 10px}.captain-flow{display:flex;flex-direction:column;gap:16px}.captain-flow-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.captain-flow-header h4{color:#202124;font-size:16px;font-weight:600;margin:0}.captain-flow-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.captain-panel{display:flex;flex-direction:column;gap:12px}.captain-panel h5{color:#202124;font-size:15px;font-weight:600;margin:0}.captain-students-list{grid-gap:10px;display:grid;gap:10px}.captain-student-card{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.captain-student-main{display:flex;flex-direction:column;gap:4px}.captain-student-name{color:#202124;font-size:14px;font-weight:600}.captain-student-meta{color:#5f6368;font-size:13px}.captain-student-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.student-invitations-section{display:flex;flex-direction:column;gap:12px}.student-invitations-list{grid-gap:12px;display:grid;gap:12px}.student-invitation-card{align-items:center;background:#fff;border:1px solid #dadce0;border-radius:12px;display:flex;gap:16px;justify-content:space-between;padding:16px 18px}.student-invitation-main{display:flex;flex-direction:column;gap:6px}.student-invitation-title{color:#202124;font-size:15px}.student-invitation-meta{color:#5f6368;font-size:13px}.student-invitation-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.grade-vote-content,.grade-vote-section{display:flex;flex-direction:column;gap:16px}.grade-vote-summary{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}.grade-vote-summary .auto-summary-item{box-sizing:border-box;gap:4px;padding:12px 14px;width:100%}.grade-vote-summary .auto-summary-item strong{font-size:18px;font-weight:400;line-height:1.35}.grade-vote-summary .auto-summary-item span{font-size:12px;font-weight:400}.grade-vote-mode{background:#f3f7ff;border:1px solid #c7d7fe;border-radius:12px;color:#1f3b8f;font-weight:600;padding:14px 16px}.grade-vote-final-list,.grade-vote-inputs,.grade-vote-status-list{grid-gap:10px;display:grid;gap:10px}.grade-vote-final-row,.grade-vote-input-row,.grade-vote-status-row{align-items:center;background:#f8f9fa;border:1px solid #dadce0;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.grade-vote-form{display:flex;flex-direction:column;gap:14px}.grade-vote-form-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.grade-vote-final h4,.grade-vote-form-header h4{margin:0}.grade-vote-student{display:flex;flex-direction:column;gap:4px}.grade-vote-student span{color:#5f6368;font-size:13px}.grade-vote-input-row input{border:1px solid #dadce0;border-radius:10px;font-size:15px;padding:10px 12px;width:92px}.grade-vote-total{font-weight:600}.grade-vote-total-valid{color:#137333}.grade-vote-total-invalid{color:#b3261e}.task-material-item{align-items:center;background-color:#f8f9fa;border:1px solid #dadce0;border-radius:8px;color:#202124;cursor:pointer;display:flex;gap:10px;padding:12px 14px;text-align:left;transition:background-color .2s,border-color .2s;width:100%}.task-material-item:hover{background-color:#f1f3f4;border-color:#1976d2}.task-sidebar{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:-webkit-sticky;position:sticky;top:24px}.sidebar-card{padding:20px}.sidebar-header{align-items:center;border-bottom:1px solid #e8eaed;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.sidebar-header h3{color:#202124;font-size:16px;font-weight:500;margin:0}.status-badge,.status-badge-done,.status-badge.submitted{border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.status-badge-done,.status-badge.submitted{background-color:#e8f5e9;color:#1e8e3e}.status-badge.graded{background-color:#e3f2fd;color:#1976d2}.sidebar-content{display:flex;flex-direction:column;gap:12px}.btn-add-work{background-color:#1976d2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px;transition:background-color .2s;width:100%}.btn-add-work:hover{background-color:#1565c0}.btn-cancel-submit{background-color:initial;border:1px solid #dadce0;border-radius:8px;color:#d93025;cursor:pointer;font-size:14px;font-weight:500;padding:10px;transition:all .2s;width:100%}.btn-cancel-submit:hover{background-color:#fce8e6;border-color:#d93025}.solution-preview{background-color:#f8f9fa;border:1px solid #dadce0;border-radius:8px;margin-bottom:8px;padding:12px}.solution-text-preview{color:#202124;font-size:14px;line-height:1.5;margin-bottom:8px;max-height:200px;overflow-y:auto;white-space:pre-wrap}.solution-text-preview:last-child{margin-bottom:0}.solution-files-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.solution-file-item{align-items:center;background-color:#fff;border:1px solid #dadce0;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:10px 12px;transition:all .2s}.solution-file-item:hover{background-color:#f1f3f4;border-color:#1976d2}.solution-file-item .file-name{color:#202124;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.solution-file-item .download-icon{color:#5f6368;flex-shrink:0}.solution-grade-display{background-color:#e3f2fd;border:1px solid #1976d2;border-radius:8px;color:#1976d2;font-weight:500;margin-bottom:12px;padding:12px;text-align:center}.solution-meta{align-items:center;gap:12px;justify-content:flex-start;margin-top:12px}.solution-meta-actions{display:flex;flex-wrap:wrap;gap:8px}.solution-meta .grade-value{color:#1976d2;font-size:20px;font-weight:600}.student-section,.teacher-section{padding:24px}.submit-section{text-align:center}.btn-primary{background-color:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:background-color .2s}.btn-primary:hover{background-color:#1565c0}.btn-secondary{align-items:center;background-color:initial;border:1px solid #dadce0;border-radius:4px;color:#1976d2;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 24px;transition:background-color .2s}.btn-secondary:hover{background-color:#f1f3f4}.btn-edit-grade{border-radius:20px;font-size:13px;font-weight:500;padding:6px 16px}.btn-small{font-size:13px;padding:6px 12px}.submit-form{display:flex;flex-direction:column;gap:12px}.solution-textarea{border:1px solid #dadce0;border-radius:8px;font-family:inherit;font-size:14px;min-height:120px;padding:12px;resize:vertical;width:100%}.solution-textarea:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.file-upload{display:flex;gap:8px}.btn-file{align-items:center;background-color:initial;border:1px solid #dadce0;border-radius:8px;color:#1976d2;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:background-color .2s}.btn-file:hover{background-color:#f1f3f4}.selected-files{display:flex;flex-direction:column;gap:8px}.file-item{align-items:center;background-color:#f1f3f4;border-radius:4px;display:flex;font-size:13px;gap:8px;padding:8px 12px}.form-actions{display:flex;gap:8px;justify-content:flex-end}.btn-cancel{background-color:initial;border:1px solid #dadce0;border-radius:8px;color:#5f6368;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.btn-cancel:hover{background-color:#f1f3f4}.btn-submit{background-color:#1976d2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.btn-submit:hover{background-color:#1565c0}.my-solution{margin:0 auto;max-width:700px}.my-solution h3{font-size:18px;font-weight:500;margin:0 0 16px}.solution-card{background-color:#f8f9fa;border:1px solid #dadce0;border-radius:8px;margin-bottom:16px;padding:16px}.solution-card.late{background-color:#fce8e6;border-color:#d93025}.solution-status{align-items:center;display:flex;gap:12px;margin-bottom:12px}.solution-grade{color:#202124;font-size:14px;font-weight:500}.solution-text{margin-bottom:12px}.solution-text p{color:#202124;line-height:1.6;margin:0;white-space:pre-wrap}.solution-meta{color:#5f6368;display:flex;font-size:13px;gap:16px}.solution-meta-stacked{gap:12px}.solution-meta-item,.solution-meta-stacked{align-items:flex-start;flex-direction:column}.solution-meta-item{display:flex;gap:8px}.solution-meta-grade-text{color:#1976d2;font-size:15px;font-weight:500}.teacher-section h3{font-size:18px;font-weight:500;margin:0 0 20px}.empty-solutions{color:#5f6368;padding:40px;text-align:center}.solutions-list{display:flex;flex-direction:column;gap:16px}.solution-header{justify-content:space-between;margin-bottom:12px}.solution-header,.student-info{align-items:center;display:flex}.student-info{gap:12px}.student-avatar{align-items:center;background-color:#1976d2;border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:500;height:40px;justify-content:center;width:40px}.student-name{color:#202124;font-weight:500}.solution-date{align-items:flex-start;color:#5f6368;display:flex;flex-direction:column;font-size:13px;gap:2px}.late-submission-text{color:#d93025;display:block;font-weight:500}.late-submission-badge{align-items:center;background-color:#d93025;border-radius:999px;color:#fff;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px;white-space:nowrap}.grade-display,.solution-actions{align-items:center;display:flex;gap:12px}.grade-value{color:#1976d2;font-size:20px;font-weight:500}.solution-files{align-items:center;color:#5f6368;display:flex;font-size:13px;gap:4px;margin-top:12px}.solution-comments-block{border-top:1px solid #e8eaed;margin-top:16px;padding-top:16px}.solution-comments-block h4{color:#202124;font-size:14px;font-weight:600;margin:0 0 12px}.solution-comments-list{display:flex;flex-direction:column;gap:10px}.solution-comment-item{background-color:#f8f9fa;border:1px solid #e8eaed;border-radius:8px;padding:12px}.solution-comment-meta{color:#5f6368;display:flex;font-size:12px;gap:12px;justify-content:space-between;margin-bottom:6px}.solution-comment-text{color:#202124;font-size:14px;line-height:1.5;white-space:pre-wrap}.solution-comments-empty{color:#5f6368;font-size:13px}.solution-comment-form{display:flex;flex-direction:column;gap:10px;margin-top:12px}.solution-comment-textarea{border:1px solid #dadce0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;resize:vertical;width:100%}.solution-comment-textarea:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.btn-comment{align-self:flex-start}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-dialog{background:#fff;border-radius:12px;box-shadow:0 4px 16px #0003;max-width:500px;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e8eaed;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{font-size:20px;font-weight:500;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background-color .2s}.close-button:hover{background-color:#f1f3f4}.modal-body{padding:24px}.student-info-modal{font-size:14px;margin-bottom:20px}.form-group{margin-bottom:16px}.form-group label{color:#202124;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=number]{border:1px solid #dadce0;border-radius:4px;font-size:14px;padding:10px 12px;width:100%}.form-group input[type=number]:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.modal-footer{border-top:1px solid #e8eaed;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.error,.loading{color:#5f6368;padding:40px;text-align:center}.error{color:#d93025}@media (max-width:768px){.task-detail-page{padding:16px}.task-header{flex-direction:column}.task-title{font-size:20px}.solution-header{gap:12px}.auto-formation-header,.auto-student-item,.captain-flow-header,.captain-student-card,.captains-header,.solution-header,.student-invitation-card,.team-card-header,.team-member-row,.teams-state-error{align-items:flex-start;flex-direction:column}.team-badges{justify-content:flex-start}.team-actions{justify-content:stretch}.team-actions button{width:100%}.auto-formation-grid,.auto-formation-panels,.auto-summary,.captain-flow-grid{grid-template-columns:1fr}.auto-formation-actions,.auto-formation-header-actions,.captains-actions{justify-content:stretch;width:100%}.auto-formation-actions button,.auto-formation-header-actions button,.captains-actions button{width:100%}.captain-student-actions{justify-content:stretch;width:100%}.captain-student-actions button,.solution-actions,.student-invitation-actions button{width:100%}.grade-display{justify-content:space-between;width:100%}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.not-found-page{align-items:center;background:radial-gradient(circle at top,#1967d21f,#0000 35%),linear-gradient(180deg,#f8f9fa,#eef3f9);display:flex;justify-content:center;min-height:calc(100vh - 64px);padding:24px}.not-found-card{background:#fffffff5;border:1px solid #d2d9e3;border-radius:20px;box-shadow:0 20px 60px #3c40431f;max-width:520px;padding:40px 32px;text-align:center;width:100%}.not-found-code{color:#1967d2;font-size:72px;font-weight:700;line-height:1;margin-bottom:12px}.not-found-card h1{color:#202124;font-size:32px;margin:0 0 12px}.not-found-card p{color:#5f6368;font-size:16px;line-height:1.5;margin:0}.not-found-actions{margin-top:24px}.not-found-button{align-items:center;background:#1967d2;border-radius:999px;color:#fff;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;padding:12px 20px;text-decoration:none;transition:background-color .2s ease,transform .2s ease}.not-found-button:hover{background:#1557b0;transform:translateY(-1px)}@media (max-width:768px){.not-found-card{padding:32px 20px}.not-found-code{font-size:56px}.not-found-card h1{font-size:26px}}.assignments-list-page{background:#fff;margin-left:280px;min-height:calc(100vh - 64px);transition:margin-left .3s ease}.assignments-list-main{padding:32px}.assignments-list-container{margin:0 auto;max-width:1180px}.assignments-list-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.assignments-list-header h1{color:#202124;font-size:34px;margin:0}.assignments-list-header p{color:#5f6368;font-size:15px;margin:8px 0 0}.assignments-list-empty,.assignments-list-error,.assignments-list-status{background:#ffffffeb;border:1px solid #d7dee8;border-radius:20px;box-shadow:0 14px 32px #3c404314;padding:28px}.assignments-list-error{color:#d93025}.assignments-list-empty h2{color:#202124;margin:0 0 8px}.assignments-list-empty p{color:#5f6368;margin:0}.assignments-list-grid{display:flex;flex-direction:column;gap:14px}.assignment-overview-card{background:#fffffff0;border:1px solid #d7dee8;border-radius:18px;box-shadow:0 10px 24px #3c40430f;cursor:pointer;padding:20px;text-align:left;transition:box-shadow .2s ease,border-color .2s ease;width:100%}.assignment-overview-card:hover{border-color:#b9c7da;box-shadow:0 14px 28px #3c40431a}.assignment-overview-card.overdue{background:#fff4f4;border-color:#efc7c3}.assignment-overview-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.assignment-course-badge,.assignment-deadline-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;padding:6px 12px}.assignment-course-badge{background:#eef3f9;color:#44536a}.assignment-deadline-badge{background:#f3f5f7;color:#5f6368}.assignment-deadline-badge.overdue{background:#fce8e6;color:#d93025}.assignment-overview-body h2{color:#202124;font-size:22px;margin:0 0 10px}.assignment-overview-body p{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;color:#5f6368;display:-webkit-box;line-height:1.55;margin:0;overflow:hidden}.assignment-overview-footer{align-items:center;border-top:1px solid #e8eaed;color:#5f6368;display:flex;font-size:13px;justify-content:space-between;margin-top:20px;padding-top:16px}@media (max-width:768px){.assignments-list-page{margin-left:0}.assignments-list-main{padding:20px 16px}.assignment-overview-footer,.assignment-overview-top{align-items:flex-start;flex-direction:column}}.header{background-color:#fff;border-bottom:1px solid #e0e0e0;height:64px;justify-content:space-between;padding:0 16px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header,.header-left{align-items:center;display:flex}.header-left{gap:16px}.menu-button{align-items:center;background:none;border:none;border-radius:50%;color:#5f6368;cursor:pointer;display:flex;height:48px;justify-content:center;transition:background-color .2s;width:48px}.menu-button:hover{background-color:#f1f3f4}.header-logo{align-items:center;color:#5f6368;display:flex;gap:8px}.header-title{color:#5f6368;font-size:22px;font-weight:400}.header-right{gap:8px}.header-right,.icon-button{align-items:center;display:flex}.icon-button{background:none;border:none;border-radius:50%;color:#5f6368;cursor:pointer;height:48px;justify-content:center;transition:background-color .2s;width:48px}.icon-button:hover{background-color:#f1f3f4}.profile-button{padding:0}.profile-image{border-radius:50%;height:32px;object-fit:cover;width:32px}.profile-menu-container{position:relative}.profile-menu-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.profile-menu{background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.profile-menu-item{align-items:center;background:none;border:none;color:#3c4043;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.profile-menu-item:hover{background-color:#f1f3f4}.profile-menu-item svg{flex-shrink:0}.sidebar-overlay{background-color:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:64px;z-index:90}@media (max-width:768px){.sidebar-overlay{display:block}}.sidebar{background-color:#fff;border-right:1px solid #e0e0e0;bottom:0;left:0;overflow-y:auto;position:fixed;top:64px;transition:width .3s ease,transform .3s ease;width:280px;z-index:95}.sidebar.collapsed{width:80px}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar.collapsed{width:280px}.sidebar.collapsed .sidebar-item{border-radius:0;gap:20px;justify-content:flex-start;margin:0 8px 0 0;padding:12px 24px;width:100%}.courses-submenu{display:block}}.sidebar-nav{padding:8px 0}.sidebar-item{align-items:center;background:none;border:none;color:#3c4043;cursor:pointer;display:flex;font-size:14px;gap:20px;margin-right:8px;padding:12px 24px;text-align:left;transition:background-color .2s,padding .3s;width:100%}.sidebar.collapsed .sidebar-item{border-radius:4px;gap:0;justify-content:center;margin:4px 8px;padding:12px;width:calc(100% - 16px)}.sidebar-item:hover{background-color:#f1f3f4}.sidebar-item.active{background-color:#e8f0fe;color:#1967d2}.sidebar-item.active .sidebar-icon{color:#1967d2}.sidebar-icon{align-items:center;color:#5f6368;display:flex;flex-shrink:0;justify-content:center}.sidebar-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expand-icon{align-items:center;color:#5f6368;display:flex;justify-content:center;margin-left:auto;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(180deg)}.courses-submenu{animation:slideDown .2s ease;margin-left:12px;padding:4px 0 8px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.course-submenu-item{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:12px;margin:2px 0 2px 12px;padding:8px 12px;text-align:left;transition:background-color .2s;width:calc(100% - 12px)}.course-submenu-item:hover{background-color:#f1f3f4}.course-submenu-color{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:500;height:32px;justify-content:center;text-transform:uppercase;width:32px}.course-submenu-text{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow:hidden}.course-submenu-title{color:#3c4043;font-size:13px;font-weight:500}.course-submenu-teacher,.course-submenu-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-submenu-teacher{color:#5f6368;font-size:11px}.sidebar::-webkit-scrollbar{width:8px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background-color:#dadce0}.sidebar::-webkit-scrollbar-thumb:hover{background-color:#bdc1c6}.App{background-color:#fff;min-height:100vh}*{box-sizing:border-box}button{font-family:inherit}button:focus-visible{outline:2px solid #1967d2;outline-offset:2px}button:focus:not(:focus-visible){outline:none}
/*# sourceMappingURL=main.40da9759.css.map*/