*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:root{--primary-color: orange;--text-primary: #333;--text-secondary: #666;--bg-color: #f8f9fa;--border-color: #eee}html,body{width:100%;min-height:100vh;line-height:1.5;color:var(--text-primary)}#root{width:100%;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;padding:0;width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.sidebar{position:fixed;top:0;left:0;width:250px;height:100vh;background:#fff;border-right:1px solid #eee;padding:1rem;display:flex;flex-direction:column;z-index:1000;transition:transform .3s ease,width .3s ease;overflow-y:hidden}.sidebar-logo{font-size:1.7rem;font-weight:700;color:orange;margin-bottom:2rem;text-align:center}.sidebar nav{flex:1;max-height:calc(100vh - 100px);display:flex;flex-direction:column}.sidebar ul{list-style:none;padding:0}.sidebar li{margin-bottom:.8rem}.sidebar a{color:#555;text-decoration:none;font-size:1.05rem;padding:.4rem 1rem;border-radius:6px;display:block;transition:background .2s,color .2s}.sidebar a.active,.sidebar a:hover{background:#ffe5cc;color:orange}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:999}@media (max-width: 768px){.sidebar{transform:translate(-100%);box-shadow:0 0 10px #0000001a;height:100%}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.sidebar nav{max-height:calc(100vh - 80px)}}@media (min-width: 769px) and (max-width: 992px){.sidebar{width:200px}.sidebar-logo{font-size:1.5rem;margin-bottom:1.5rem}.sidebar a{font-size:.95rem;padding:.4rem .8rem}}.topbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #eee;padding:1rem 2rem;position:sticky;top:0;z-index:10}.topbar-left{display:flex;align-items:center;gap:1rem}.search-container{flex:1}.search-input{width:300px;padding:.5rem 1rem;border-radius:20px;border:1px solid #ddd;font-size:1rem;background:#fff;background-image:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-input::-webkit-search-decoration,.search-input::-webkit-search-cancel-button,.search-input::-webkit-search-results-button,.search-input::-webkit-search-results-decoration{display:none}.profile-dropdown{display:flex;align-items:center;gap:.7rem;cursor:pointer}.profile-name{font-weight:500;color:#555}.mobile-menu-toggle{display:none;background:none;border:none;color:#555;cursor:pointer;padding:.5rem}.logout-button{background-color:#f8f9fa;color:#555;border:1px solid #ddd;border-radius:4px;padding:.4rem .8rem;font-size:.9rem;cursor:pointer;transition:all .2s}.logout-button:hover{background-color:#ffe5cc;color:orange;border-color:orange}.show-on-mobile{display:none}@media (max-width: 768px){.topbar{padding:.75rem 1rem}.mobile-menu-toggle{display:block}.search-input{width:150px}.hide-on-mobile{display:none}.show-on-mobile{display:inline-block}.logout-button{padding:.4rem}}@media (max-width: 480px){.search-input{width:120px}}.logout-button{background:orange;color:#fff;border:none;border-radius:4px;padding:.4rem 1rem;font-size:.95rem;cursor:pointer;transition:background .2s}.logout-button:hover{background:#ff9800}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f9fafb;padding:20px}.auth-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;padding:2rem;width:100%;max-width:500px;text-align:center}.auth-title{font-size:1.75rem;color:#333;margin-bottom:1.5rem}:root{--clerk-primary: orange;--clerk-primary-hover: #ff9800}@media (max-width: 600px){.auth-card{padding:1.5rem}}.navbar{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:1rem 2rem;border-bottom:1px solid #eee}.navbar-logo{font-size:1.5rem;font-weight:700;color:orange}.navbar-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.navbar-links a{color:#555;text-decoration:none;font-size:1.05rem;transition:color .2s}.navbar-links a:hover{color:orange}.navbar-user,.navbar-user-info{display:flex;align-items:center;gap:.7rem}.navbar-username{font-weight:500;color:#333;font-size:1rem}.navbar-logout{background:orange;color:#fff;border:none;border-radius:4px;padding:.4rem 1rem;font-size:.95rem;cursor:pointer;transition:background .2s}.navbar-logout:hover{background:#ff9800}.footer{background:#fff;border-top:1px solid #eee;padding:1.2rem 2rem;text-align:center;margin-top:2rem}.footer-content{display:flex;flex-direction:column;align-items:center;gap:.7rem}.footer-links{display:flex;gap:1.5rem;list-style:none;padding:0;margin:0}.footer-links a{color:#555;text-decoration:none;font-size:1rem;transition:color .2s}.footer-links a:hover{color:orange}.home{min-height:100vh;width:100%;display:flex;flex-direction:column}.home-content{flex:1;width:100%}.hero-section{text-align:center;padding:5rem 2rem;background:#f8f9fa}.hero-section h1{font-size:3rem;color:#333;margin-bottom:1rem}.hero-section p{font-size:1.2rem;color:#666;margin-bottom:2rem}.cta-button{display:inline-block;padding:1rem 2rem;background:orange;color:#fff;text-decoration:none;border-radius:30px;font-weight:500;transition:background .2s}.cta-button:hover{background:#ff8c00}.dashboard{padding:2rem;width:100%;max-width:1800px;margin:0 auto}.dashboard.loading-state,.dashboard.error-state{display:flex;justify-content:center;align-items:center;min-height:80vh}.dashboard-loader{text-align:center}.spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-left-color:#4b79a1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.error-message{text-align:center;padding:2rem;background-color:#fff3f3;border-radius:12px;border-left:5px solid #ff6b6b;max-width:500px}.error-message h2{color:#d32f2f;margin-bottom:1rem}.retry-btn{padding:.8rem 1.5rem;margin-top:1rem;background-color:#d32f2f;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s}.retry-btn:hover{background-color:#b71c1c}.dashboard-header{margin-bottom:2.5rem}.greeting h1{font-size:2.2rem;color:var(--text-primary);margin-bottom:.5rem;display:flex;align-items:center}.role-toggle-btn{margin-top:1rem;padding:.5rem 1rem;background-color:#f0f2f5;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.role-toggle-btn:hover{background-color:#e4e6e9}.date{color:var(--text-secondary);font-size:1.1rem}.dashboard-summary{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.summary-stat{background:linear-gradient(to right,#ffffff,#f8f9fa);border-radius:10px;padding:1rem;flex:1;min-width:120px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;border:1px solid #f0f0f0}.summary-stat .stat-value{font-size:1.8rem;font-weight:700;color:#4b79a1;margin-bottom:.2rem}.summary-stat .stat-label{font-size:.85rem;color:var(--text-secondary)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.card{background:white;border-radius:16px;padding:1.8rem;box-shadow:0 4px 12px #0000000d;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden;border:1px solid #f0f0f0}.card:hover{box-shadow:0 6px 18px #00000014}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid #f0f0f0;padding-bottom:1rem}.card h3{font-size:1.2rem;color:var(--text-primary);margin:0;font-weight:600}.view-all-btn{font-size:.85rem;color:#4b79a1;background:none;border:none;cursor:pointer;padding:0}.view-all-btn:hover{text-decoration:underline}.course-progress-grid{display:grid;grid-template-rows:repeat(auto-fit,minmax(80px,1fr));gap:1rem}.course-progress-item{padding:1rem;background-color:#f8f9fa;border-radius:8px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.course-progress-item:hover{background-color:#f0f2f5;transform:translateY(-2px);box-shadow:0 4px 8px #0000000d}.course-progress-item h4{font-size:1rem;margin-bottom:.8rem;color:var(--text-primary)}.progress-bar{height:8px;background:#e0e0e0;border-radius:4px;margin-bottom:.6rem;overflow:hidden}.progress{height:100%;background:linear-gradient(to right,#4b79a1,#5b9bd5);border-radius:4px;transition:width .3s ease}.progress-details{display:flex;justify-content:space-between;align-items:center}.progress-text{color:var(--text-secondary);font-size:.85rem;font-weight:500}.units-text{color:var(--text-secondary);font-size:.85rem}.teacher-overview{background:linear-gradient(135deg,#4b79a1,#283e51);color:#fff}.teacher-overview .card-header{border-bottom-color:#fff3}.teacher-overview h3,.teacher-overview .view-all-btn{color:#fff}.teacher-stats{display:flex;flex-wrap:wrap;justify-content:space-around;margin-bottom:1.5rem;gap:1rem}.stat-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background-color:#ffffff1a;border-radius:8px;min-width:100px;flex:1}.stat-number{font-size:1.8rem;font-weight:700;margin-bottom:.3rem}.stat-label{font-size:.9rem;opacity:.8}.action-buttons{display:flex;gap:1rem}.action-btn{flex:1;padding:.8rem;border-radius:6px;cursor:pointer;font-weight:500;text-align:center;transition:all .2s}.action-btn.primary{background-color:#fff;color:#4b79a1;border:none}.action-btn.primary:hover{background-color:#ffffffe6}.action-btn.secondary{background-color:transparent;border:1px solid white;color:#fff}.action-btn.secondary:hover{background-color:#ffffff1a}.resources-list{list-style:none;padding:0}.resources-list li{display:flex;align-items:center;padding:1rem;border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;margin-bottom:.8rem;background-color:#f8f9fa}.resources-list li:hover{background-color:#f0f2f5;transform:translateY(-2px);box-shadow:0 4px 8px #0000000d}.resources-list li:last-child{margin-bottom:0}.resource-icon{width:40px;height:40px;border-radius:8px;display:flex;justify-content:center;align-items:center;margin-right:1rem;font-size:1.2rem;background-color:#4b79a11a}.resource-info{flex:1}.resource-title{display:block;font-weight:500;margin-bottom:.2rem}.resource-desc{display:block;font-size:.85rem;color:var(--text-secondary)}.chart-container{padding:1rem 0;height:200px}.time-period{font-size:.85rem;color:var(--text-secondary)}.chart-bars{display:flex;align-items:flex-end;justify-content:space-between;height:160px;margin-bottom:1rem}.bar-container{display:flex;flex-direction:column;align-items:center;flex:1;height:100%}.bar{width:30px;background:linear-gradient(to top,orange,#ffb74d);border-radius:4px 4px 0 0;transition:height .3s ease;position:relative;display:flex;justify-content:center}.bar-value{position:absolute;top:-20px;font-size:.75rem;font-weight:600}.bar-label{margin-top:.5rem;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.chart-summary{text-align:center;padding-top:.5rem;border-top:1px solid #f0f0f0}.chart-summary .highlight{font-weight:600;color:#4b79a1}.trend{margin-left:.5rem;font-size:.85rem;font-weight:600}.trend.positive{color:#2e7d32}.trend.negative{color:#d32f2f}.performance-content{display:flex;align-items:center;justify-content:space-around;margin-bottom:1.5rem}.score-circle{text-align:center}.circular-chart{width:120px;height:120px}.circular-chart .percentage{fill:#4b79a1;font-size:.5em;text-anchor:middle;font-weight:700}.performance-stats{display:flex;flex-direction:column;gap:.8rem}.performance-stat{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.performance-stat .stat-label{font-size:.9rem;color:var(--text-secondary)}.performance-stat .stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.performance-message{text-align:center;padding-top:1rem;border-top:1px solid #f0f0f0;font-size:.9rem;color:#2e7d32}.tasks{list-style:none;padding:0}.task-item{padding:1rem;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:.8rem;background-color:#f8f9fa}.task-item:hover{background-color:#f0f2f5;transform:translateY(-2px);box-shadow:0 4px 8px #0000000d}.task-item:last-child{margin-bottom:0}.task-item.overdue{border-left:4px solid #d32f2f}.task-info h4{font-size:1rem;color:var(--text-primary);margin-bottom:.3rem}.task-info p{font-size:.9rem;color:var(--text-secondary)}.task-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem}.due-date{font-size:.85rem;color:var(--text-secondary)}.status{padding:.3rem .8rem;border-radius:12px;font-size:.75rem;font-weight:500}.status.pending{background:#fff3e0;color:#ff8f00}.status.in-progress{background:#e3f2fd;color:#1976d2}.status.completed{background:#e8f5e9;color:#2e7d32}.status.overdue{background:#ffebee;color:#d32f2f}.status.not-started{background:#f5f5f5;color:#757575}.discussions-list{list-style:none;padding:0}.discussion-item{padding:1rem;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:.8rem;background-color:#f8f9fa}.discussion-item:hover{background-color:#f0f2f5;transform:translateY(-2px);box-shadow:0 4px 8px #0000000d}.discussion-item:last-child{margin-bottom:0}.discussion-item h4{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.discussion-preview{font-size:.9rem;color:var(--text-secondary);margin-bottom:.8rem;line-height:1.4}.discussion-meta{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-secondary)}.time,.replies{display:flex;align-items:center}.replies{background-color:#e3f2fd;color:#1976d2;padding:.2rem .5rem;border-radius:12px;font-size:.75rem}.announcements-list{list-style:none;padding:0}.announcements-list li{padding:1rem;border-radius:8px;background-color:#f8f9fa;margin-bottom:.8rem}.announcements-list li:last-child{margin-bottom:0}.announcement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.announcement-header h4{font-size:1rem;color:var(--text-primary);margin:0}.announcement-time{font-size:.8rem;color:var(--text-secondary);background-color:#f0f0f0;padding:.2rem .5rem;border-radius:12px}.announcements-list p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.empty-state{padding:2rem;text-align:center;color:var(--text-secondary);background-color:#f8f9fa;border-radius:8px}@media (max-width: 1200px){.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 992px){.dashboard-summary{flex-wrap:wrap}.summary-stat{min-width:calc(50% - .5rem)}}@media (max-width: 768px){.dashboard{padding:1rem}.dashboard-grid{grid-template-columns:1fr}.greeting h1{font-size:1.8rem}.card{padding:1.2rem}.dashboard-header{margin-bottom:1.5rem}.bar{width:20px}.stat-item{padding:.5rem}}@media (max-width: 576px){.summary-stat{min-width:100%;margin-bottom:.5rem}.action-buttons{flex-direction:column}.performance-content{flex-direction:column;gap:1.5rem}.circular-chart{width:100px;height:100px}.task-meta,.discussion-meta{flex-direction:column;align-items:flex-start;gap:.5rem}}.assignments-page{padding:2rem;background:#f6f9fc;min-height:calc(100vh - 2rem);width:100%}.assignments-header{margin-bottom:2rem;background:white;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #00000008;max-width:1800px;margin:0 auto 2rem;background:linear-gradient(to right,#ffffff,#f8f9fc)}.stats-cards-wrapper{width:100%;max-width:1800px;margin:0 auto 1.5rem}.assignments-container{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;width:100%;max-width:1800px;margin:0 auto;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.assignments-header{margin-bottom:2rem;padding:2.5rem;border-radius:16px;box-shadow:0 4px 20px #00000008;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to right,#ffffff,#f8f9fc);flex-wrap:wrap;gap:1.5rem}.header-content{flex:1}.header-actions{display:flex;align-items:center}.assignments-header h1{font-size:2.4rem;color:#1a237e;margin-bottom:.5rem;font-weight:700;letter-spacing:-.5px}.assignments-header p{color:#5c6bc0;font-size:1.1rem;font-weight:500}.new-assignment-btn{padding:.85rem 1.75rem;background:linear-gradient(135deg,#5c6bc0,#3949ab);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px #5c6bc04d;white-space:nowrap;min-width:max-content}.new-assignment-btn:hover{background:linear-gradient(135deg,#3949ab,#283593);transform:translateY(-2px);box-shadow:0 6px 18px #5c6bc066}.new-assignment-btn i{font-size:1.1rem}.assignments-left,.assignments-right{display:flex;flex-direction:column;gap:2rem}.stats-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.5rem}.stat-card{background:white;padding:1.5rem;border-radius:16px;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 15px #00000008;transition:all .3s ease;border:1px solid rgba(0,0,0,.03)}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000014}.stat-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:1.4rem}.stat-icon.pending{background:rgba(255,152,0,.1);color:#f57c00}.stat-icon.in-progress{background:rgba(33,150,243,.1);color:#1976d2}.stat-icon.done{background:rgba(76,175,80,.1);color:#388e3c}.stat-info h4{font-size:1.1rem;color:#424242;margin-bottom:.5rem;font-weight:500}.stat-number{font-size:1.8rem;font-weight:700;color:#1a237e}.filters-container{background:white;padding:1.75rem;border-radius:16px;box-shadow:0 4px 15px #00000008;margin-bottom:2rem;border:1px solid rgba(0,0,0,.03)}.filters-container h3{font-size:1.3rem;color:#1a237e;margin-bottom:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.filters-container h3:before{content:"";display:block;width:4px;height:20px;background:linear-gradient(to bottom,#5c6bc0,#3949ab);border-radius:4px}.filter-row{margin-bottom:1.25rem}.filter-row:last-child{margin-bottom:0}.filter-row select{width:100%;padding:.85rem 1rem;border:1px solid #e0e0e0;border-radius:12px;font-size:.95rem;color:#424242;background:#f9fafc;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c6bc0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px;transition:all .25s ease;box-shadow:inset 0 2px 5px #00000003}.filter-row select:focus{outline:none;border-color:#5c6bc0;background-color:#fff;box-shadow:0 0 0 3px #5c6bc01a,inset 0 2px 5px #0000}.filter-row input[type=text]{width:100%;padding:.85rem 1rem;border:1px solid #e0e0e0;border-radius:12px;font-size:.95rem;color:#424242;background:#f9fafc;transition:all .25s ease;box-shadow:inset 0 2px 5px #00000003}.filter-row input[type=text]::placeholder{color:#9e9e9e}.filter-row input[type=text]:focus{outline:none;border-color:#5c6bc0;background-color:#fff;box-shadow:0 0 0 3px #5c6bc01a,inset 0 2px 5px #0000}.upcoming-deadlines{background:white;padding:1.75rem;border-radius:16px;box-shadow:0 4px 15px #00000008;border:1px solid rgba(0,0,0,.03)}.upcoming-deadlines h3{font-size:1.3rem;color:#1a237e;margin-bottom:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.upcoming-deadlines h3:before{content:"";display:block;width:4px;height:20px;background:linear-gradient(to bottom,#5c6bc0,#3949ab);border-radius:4px}.deadlines-list{display:flex;flex-direction:column;gap:1rem}.deadline-item{display:flex;gap:1rem;padding:1rem;background:#f9fafc;border-radius:12px;transition:all .3s ease;border:1px solid transparent;cursor:pointer}.deadline-item:hover{background:#f3f5ff;border-color:#e8eaff;transform:translateY(-3px);box-shadow:0 6px 15px #5c6bc01a}.deadline-icon{width:40px;height:40px;border-radius:10px;background:rgba(92,107,192,.1);color:#5c6bc0;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.deadline-info h4{font-size:1.05rem;font-weight:600;color:#1a237e;margin-bottom:.3rem}.course-name{font-size:.9rem;color:#5c6bc0;margin-bottom:.3rem}.due-date{font-size:.85rem;color:#f57c00;font-weight:500}.no-deadlines{color:#9e9e9e;text-align:center;padding:2rem;background:#f9fafc;border-radius:12px}.course-progress{background:white;padding:1.75rem;border-radius:16px;box-shadow:0 4px 15px #00000008;border:1px solid rgba(0,0,0,.03)}.course-progress h3{font-size:1.3rem;color:#1a237e;margin-bottom:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.course-progress h3:before{content:"";display:block;width:4px;height:20px;background:linear-gradient(to bottom,#5c6bc0,#3949ab);border-radius:4px}.progress-list{display:flex;flex-direction:column;gap:1.25rem}.course-progress-item{background:#f9fafc;padding:1.25rem;border-radius:12px;transition:all .3s ease}.course-progress-item:hover{background:#f3f5ff}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-header h4{font-size:1rem;color:#424242;font-weight:600}.progress-header span{color:#5c6bc0;font-weight:700;font-size:1.1rem}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:.75rem}.progress-fill{height:100%;background:linear-gradient(to right,#5c6bc0,#3949ab);border-radius:4px;transition:width .5s ease}.progress-stats{font-size:.85rem;color:#757575}.assignments-list-section{background:white;padding:1.75rem;border-radius:16px;box-shadow:0 4px 15px #00000008;border:1px solid rgba(0,0,0,.03)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.section-header h2{font-size:1.3rem;color:#1a237e;font-weight:600;display:flex;align-items:center;gap:.5rem}.section-header h2:before{content:"";display:block;width:4px;height:20px;background:linear-gradient(to bottom,#5c6bc0,#3949ab);border-radius:4px}.pagination-container{display:flex;justify-content:center;overflow-x:auto;padding:.5rem 0;-ms-overflow-style:none;scrollbar-width:none}.pagination-container::-webkit-scrollbar{display:none}.pagination{display:flex;gap:.5rem;align-items:center}.pagination button{min-width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:1px solid #e0e0e0;background:#f9fafc;color:#424242}.pagination button.active{background:linear-gradient(135deg,#5c6bc0,#3949ab);color:#fff;border-color:transparent;box-shadow:0 3px 10px #5c6bc04d}.pagination button:hover:not(.active){background:#f3f5ff;border-color:#e8eaff}.pagination-arrow{font-size:.8rem}.pagination-dots{width:20px;text-align:center;color:#757575;display:flex;align-items:center;justify-content:center}.no-assignments-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 0;text-align:center}.no-assignments-message i{font-size:3rem;color:#e0e0e0;margin-bottom:1rem}.no-assignments-message p{color:#757575;font-size:1.1rem;margin-bottom:1.5rem}.reset-filter-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#5c6bc0,#3949ab);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #5c6bc04d}.reset-filter-btn:hover{background:linear-gradient(135deg,#3949ab,#283593);transform:translateY(-2px);box-shadow:0 6px 18px #5c6bc066}@media (max-width: 1200px){.assignments-container{grid-template-columns:1fr}}@media (max-width: 992px){.stats-cards{grid-template-columns:repeat(3,1fr)}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.pagination{width:100%;justify-content:flex-start}}@media (max-width: 768px){.assignments-page{padding:1rem}.assignments-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem;margin-bottom:1rem}.header-actions{width:100%}.stats-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.stat-card{padding:1rem}.assignments-left>div,.assignments-right>div{margin-bottom:1.5rem}.section-header h2{font-size:1.5rem}.filter-row input,.filter-row select{width:100%}}@media (max-width: 768px){.assignments-header{padding:1.5rem;flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%}.new-assignment-btn{width:100%;justify-content:center;padding:.75rem 1.5rem}}@media (max-width: 576px){.assignments-header{flex-direction:column;align-items:stretch;padding:1rem;gap:.75rem;margin-bottom:.5rem;border-radius:10px}.header-content{width:100%}.header-actions{width:100%;margin-top:.5rem;justify-content:center}.new-assignment-btn{width:100%;font-size:1.1rem;padding:1rem 1.25rem;border-radius:12px;margin:0 auto;display:flex;justify-content:center;align-items:center;box-shadow:0 2px 8px #5c6bc01f;gap:.5rem}.new-assignment-btn i{font-size:1.2rem;margin-right:.5rem}.assignments-header h1{font-size:1.8rem}.stats-cards{grid-template-columns:1fr}.section-header{padding:1rem}.filters-container,.upcoming-deadlines,.course-progress{padding:1.25rem}.filters-container h3,.upcoming-deadlines h3,.course-progress h3{font-size:1.1rem;margin-bottom:1rem}.deadline-item{padding:.75rem}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;width:100%}.course-name{color:#5c6bc0;font-size:.95rem;font-weight:500;line-height:1.5}.card-footer{padding:1.25rem;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;background:#fafbfd;width:100%;box-sizing:border-box}.status-badge{padding:.5rem .875rem;border-radius:8px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.status-badge.done{background:rgba(76,175,80,.1);color:#2e7d32}.status-badge.in-progress{background:rgba(33,150,243,.1);color:#1976d2}.status-badge.pending{background:rgba(255,152,0,.1);color:#f57c00}.due-date{font-size:.85rem;color:#757575}.submit-btn{padding:.75rem 1.25rem;background:linear-gradient(135deg,#5c6bc0,#3949ab);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 3px 10px #5c6bc033;width:100%;max-width:350px;margin:0 auto;display:block;text-align:center}.submit-btn:hover{background:linear-gradient(135deg,#3949ab,#283593);transform:translateY(-2px);box-shadow:0 5px 15px #5c6bc04d}.submitted-status{display:flex;align-items:center;gap:.5rem;color:#388e3c;font-weight:600;font-size:.9rem}.submitted-status i{font-size:1.1rem}@media (max-width: 768px){.assignments-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:0 .5rem;gap:1.25rem}.card-header{padding:1rem;flex-wrap:wrap;gap:.5rem}.card-content{padding:1.25rem}.card-content h3{font-size:1.1rem}.card-footer{padding:1rem;justify-content:center}.submit-btn{width:100%;padding:.75rem;font-size:.85rem}}@media (max-width: 576px){.assignments-grid{grid-template-columns:1fr;padding:0;gap:1rem}.assignment-card{border-radius:10px;margin:0 .25rem;box-sizing:border-box;width:100%;min-width:0}.card-header{flex-wrap:wrap;gap:.5rem;padding:.75rem .5rem}.card-content{padding:1rem .5rem}.card-content h3{font-size:1rem}.card-footer{padding:.75rem .5rem;display:flex;justify-content:center;width:100%;box-sizing:border-box}.submit-btn{width:100%;max-width:350px;margin:0 auto;display:block;text-align:center;font-size:.95rem;border-radius:8px}.status-badge{padding:.4rem .6rem;font-size:.8rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#1a237e66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:white;border-radius:20px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease;border:1px solid rgba(240,240,240,.8)}.modal-header{padding:1.75rem;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to right,#ffffff,#f8f9fc)}.modal-header h2{font-size:1.6rem;color:#1a237e;font-weight:600;margin:0}.close-button{background:none;border:none;font-size:1.75rem;color:#9e9e9e;cursor:pointer;transition:all .2s ease;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#f44336;background:rgba(244,67,54,.1)}.modal-body{padding:2rem}.modal-body h3{font-size:1.4rem;color:#1a237e;margin-top:0;margin-bottom:.75rem;font-weight:600;line-height:1.4}.modal-body .course-name{color:#5c6bc0;font-size:1rem;font-weight:500;margin-bottom:.5rem}.modal-body .due-date{color:#f57c00;font-size:.95rem;font-weight:500;margin-bottom:2rem;display:inline-block}.file-upload-area{border:2px dashed #e0e0e0;border-radius:12px;padding:2.5rem 1.5rem;text-align:center;margin-bottom:2rem;background:#f9fafc;transition:all .2s ease}.file-upload-area:hover{border-color:#5c6bc0;background:#f3f5ff}.file-upload-area p{color:#757575;margin-bottom:1rem;font-size:1rem}.file-upload-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#5c6bc0,#3949ab);color:#fff;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s ease;display:inline-block;box-shadow:0 4px 12px #5c6bc04d}.file-upload-button:hover{background:linear-gradient(135deg,#3949ab,#283593);transform:translateY(-2px);box-shadow:0 6px 15px #5c6bc066}.file-upload-input{display:none}.form-group label{display:block;margin-bottom:.75rem;font-weight:600;color:#424242;font-size:1rem}.form-group textarea{width:100%;padding:1rem;border:1px solid #e0e0e0;border-radius:12px;font-size:1rem;resize:vertical;min-height:120px;transition:all .25s ease;background:#f9fafc;box-shadow:inset 0 2px 5px #00000003}.form-group textarea:focus{outline:none;border-color:#5c6bc0;background:#fff;box-shadow:0 0 0 3px #5c6bc01a}.form-group textarea::placeholder{color:#9e9e9e}.modal-footer{padding:1.5rem 2rem;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:1rem;background:#fafbfd}.cancel-button{padding:.85rem 1.75rem;background:#f5f5f5;color:#424242;border:1px solid #e0e0e0;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease}.cancel-button:hover{background:#eeeeee}.submit-assignment-button{padding:.85rem 1.75rem;background:linear-gradient(135deg,#5c6bc0,#3949ab);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px #5c6bc04d}.submit-assignment-button:hover{background:linear-gradient(135deg,#3949ab,#283593);transform:translateY(-2px);box-shadow:0 6px 18px #5c6bc066}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.modal-content{width:95%;max-height:95vh;max-width:450px}.modal-header,.modal-body,.modal-footer{padding:1.25rem}}@media (max-width: 576px){.modal-overlay{align-items:flex-end;padding-bottom:0}.modal-content{width:100%;height:90vh;max-height:none;border-radius:20px 20px 0 0;display:flex;flex-direction:column}.modal-body{flex:1;overflow-y:auto;padding:1.25rem 1rem}.modal-header{padding:1rem;position:sticky;top:0;background:#ffffff;z-index:2;border-bottom:1px solid #f0f0f0}.modal-header h2{font-size:1.3rem}.modal-header .close-button{width:36px;height:36px}.modal-footer{padding:.75rem 1rem;flex-direction:column;gap:.75rem;position:sticky;bottom:0;background:#fafbfd;border-top:1px solid #f0f0f0;z-index:2}.cancel-button,.submit-assignment-button{width:100%;padding:.75rem;font-size:.95rem}.file-upload-area{padding:1.5rem 1rem;margin-bottom:1.5rem}.file-upload-button{width:100%;text-align:center;padding:.75rem;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.95rem}.modal-body h3{font-size:1.2rem}}.assignment-detail-page{padding:2rem;background:#f6f9fc;min-height:calc(100vh - 4rem);width:100%}.detail-header{background:white;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #00000008;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.back-button{background:#f5f7ff;border:none;padding:.5rem 1rem;border-radius:8px;color:#5c6bc0;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;transition:all .2s ease}.back-button:hover{background:#e8eaff;transform:translate(-2px)}.detail-header h1{font-size:2rem;color:#1a237e;margin:0 0 1rem;font-weight:700}.assignment-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.course-name{color:#5c6bc0;font-weight:500;font-size:1rem}.meta-separator{color:#c5cae9;font-size:1rem}.status-badge{padding:.5rem 1rem;border-radius:30px;font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.status-badge:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%}.status-badge.done{background:#e8f5e9;color:#2e7d32}.status-badge.done:before{background:#2e7d32}.status-badge.in-progress{background:#e3f2fd;color:#1976d2}.status-badge.in-progress:before{background:#1976d2}.status-badge.pending{background:#fff3e0;color:#f57c00}.status-badge.pending:before{background:#f57c00}.header-actions{display:flex;justify-content:flex-end}.submit-button{padding:.75rem 1.5rem;background:#5c6bc0;color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px #5c6bc033;display:flex;align-items:center;gap:.75rem}.submit-button:hover{background:#3949ab;transform:translateY(-2px);box-shadow:0 6px 20px #5c6bc04d}.submitted-info{display:flex;align-items:center;gap:.75rem;background:#e8f5e9;padding:.75rem 1.25rem;border-radius:12px;color:#2e7d32}.submitted-info i{font-size:1.5rem}.submission-date{font-size:.875rem;opacity:.8;margin-top:.25rem}.detail-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.content-main,.content-sidebar{display:flex;flex-direction:column;gap:2rem}.detail-section,.sidebar-section{background:white;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #00000008}.detail-section h2{color:#1a237e;font-size:1.5rem;margin-bottom:1.5rem;font-weight:600}.sidebar-section h3{color:#1a237e;font-size:1.25rem;margin-bottom:1.5rem;font-weight:600}.requirements-list{list-style:none;padding:0}.requirements-list li{position:relative;padding-left:1.5rem;margin-bottom:1rem;color:#333}.requirements-list li:before{content:"✓";position:absolute;left:0;color:#5c6bc0;font-weight:700}.resources-list{display:flex;flex-direction:column;gap:.75rem}.resource-link{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;text-decoration:none;color:inherit;transition:background .2s ease}.resource-link:hover{background:#f1f3f9}.resource-name{display:block;color:#1a237e;font-weight:500;margin-bottom:.25rem}.resource-type{font-size:.875rem;color:#5c6bc0}.timeline{position:relative;padding-left:1.5rem}.timeline:before{content:"";position:absolute;left:.75rem;top:0;bottom:0;width:2px;background:#e0e0e0;transform:translate(-50%)}.timeline-item{position:relative;padding-bottom:2rem}.timeline-item:last-child{padding-bottom:0}.timeline-icon{position:absolute;left:-1.5rem;top:0;width:2rem;height:2rem;border-radius:50%;background:#f5f5f5;display:flex;align-items:center;justify-content:center;color:#9e9e9e}.timeline-icon.assigned{background:#e3f2fd;color:#1976d2}.timeline-icon.completed{background:#e8f5e9;color:#2e7d32}.timeline-icon.pending{background:#fff3e0;color:#f57c00}.timeline-content h4{font-size:1rem;color:#333;margin:0 0 .25rem}.timeline-content p{margin:0;font-size:.875rem;color:#757575}.submission-preview{display:flex;align-items:center;justify-content:space-between;background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.file-preview{display:flex;align-items:center;gap:.75rem}.file-preview i{color:#f44336;font-size:1.5rem}.view-button{padding:.5rem 1rem;background:#5c6bc0;color:#fff;border:none;border-radius:8px;font-size:.875rem;cursor:pointer}.grade-section{border-top:1px solid #f0f0f0;padding-top:1.5rem;margin-top:1.5rem}.grade-section h3{color:#1a237e;font-size:1.25rem;margin-bottom:1rem;font-weight:600}.grade-display{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.grade{font-size:2rem;font-weight:700;color:#4caf50}.grade-status{background:#e8f5e9;color:#2e7d32;padding:.5rem 1rem;border-radius:30px;font-weight:600}.feedback h4{font-size:1rem;color:#333;margin-bottom:.5rem}.feedback p{color:#555;line-height:1.5}.assignment-detail.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.loading-spinner{width:3rem;height:3rem;border:4px solid rgba(92,107,192,.1);border-top:4px solid #5c6bc0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.assignment-detail.not-found{text-align:center;padding:4rem 2rem}@media (max-width: 992px){.detail-content{grid-template-columns:1fr}}@media (max-width: 768px){.detail-header{flex-direction:column;gap:1rem}.header-actions{width:100%;justify-content:flex-start}}.assignment-create-content{background:white;border-radius:16px;box-shadow:0 4px 20px #00000008;overflow:hidden}.assignment-form{display:flex;flex-direction:column}.form-section{padding:2rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#1a237e}.form-group input[type=text],.form-group input[type=date],.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;color:#333;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#5c6bc0;box-shadow:0 0 0 2px #5c6bc01a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.requirement-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.remove-requirement-btn{background:none;border:none;color:#f44336;cursor:pointer;font-size:1.2rem;padding:.25rem}.add-requirement-btn{background:none;border:1px dashed #5c6bc0;color:#5c6bc0;padding:.5rem 1rem;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem}.add-requirement-btn:hover{background:#f5f7ff}.form-actions{padding:1.5rem 2rem;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:1rem}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.notes-container{padding:2rem;background-color:#fff;min-height:80vh}.notes-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.add-note-btn{padding:.75rem 1.5rem;background-color:#4caf50;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 5px #4caf5033}.add-note-btn:hover{background-color:#43a047;transform:translateY(-2px);box-shadow:0 4px 8px #4caf504d}.add-note-btn-empty{padding:.75rem 1.5rem;background-color:#4caf50;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;margin-top:1rem;box-shadow:0 2px 5px #4caf5033}.add-note-btn-empty:hover{background-color:#43a047;transform:translateY(-2px);box-shadow:0 4px 8px #4caf504d}.notes-controls{margin-bottom:2rem}.search-bar{margin-bottom:1.5rem;position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#888}.search-bar input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:all .2s ease}.search-bar input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.tag-filter{margin-bottom:1.5rem}.filter-label{font-weight:500;margin-bottom:.5rem;color:#555}.filter-options{display:flex;gap:.75rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;background-color:#f5f5f5;border:none;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background-color:#e0e0e0}.filter-btn.active{background-color:#4caf50;color:#fff;box-shadow:0 2px 4px #4caf5033}.loading-spinner{width:40px;height:40px;border:3px solid rgba(76,175,80,.1);border-radius:50%;border-top-color:#4caf50;animation:spin 1s ease-in-out infinite;margin-bottom:1rem}.empty-icon{font-size:3rem;margin-bottom:1rem;color:#4caf50;opacity:.7}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.note-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.note-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000014;border-color:#d0d0d0}.note-card h3{margin:0;font-size:1.2rem;color:#333;margin-bottom:1rem;position:relative;padding-bottom:.5rem}.note-card h3:after{content:"";position:absolute;bottom:0;left:0;width:30px;height:3px;background-color:#4caf50;border-radius:2px}.note-preview{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.note-attachment{display:flex;align-items:center;gap:.5rem;margin-top:.8rem;padding:.6rem;background-color:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0}.note-attachment i{color:#666}.note-attachment span{color:#333;font-size:.9rem;font-weight:500}.note-attachment .download-btn{margin-left:auto;background-color:#2196f3;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:inline-block;text-align:center;width:100px;height:30px;padding:0}.note-attachment .download-btn i{color:#fff;margin-right:5px}.note-attachment .download-btn:hover{background-color:#1976d2;box-shadow:0 2px 4px #2196f34d;transform:translateY(-1px)}.note-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{background-color:#f0f7ff;color:#4caf50;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;border:1px solid rgba(76,175,80,.2)}.note-meta{color:#888;font-size:.8rem;margin-bottom:1rem;font-style:italic}.note-actions{display:flex;gap:.8rem;margin-top:1rem}.note-actions button{flex:1;padding:0;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;display:inline-block;text-align:center;transition:all .2s ease;color:#fff;height:36px}.note-actions i{font-size:.9rem;margin-right:5px}.view-btn{background-color:#2196f3;box-shadow:0 2px 4px #2196f333}.view-btn:hover{background-color:#1e88e5;box-shadow:0 4px 8px #2196f34d;transform:translateY(-2px)}.edit-btn{background-color:#ffa000;box-shadow:0 2px 4px #ffa00033}.edit-btn:hover{background-color:#ff8f00;box-shadow:0 4px 8px #ffa0004d;transform:translateY(-2px)}.delete-btn{background-color:#f44336;box-shadow:0 2px 4px #f4433633}.delete-btn:hover{background-color:#e53935;box-shadow:0 4px 8px #f443364d;transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.modal{background-color:#fff;border-radius:12px;padding:2rem;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003;animation:slideIn .3s ease}.view-modal{max-width:900px}.view-content{display:flex;flex-direction:column;gap:1.5rem}.note-content{background-color:#f9f9f9;padding:1.5rem;border-radius:8px;white-space:pre-wrap;font-family:inherit;font-size:1rem;line-height:1.6;color:#333;border:1px solid #e0e0e0;margin:0}.note-details{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.detail-section{margin-bottom:1rem}.detail-section h4{margin:0 0 .5rem;font-size:1rem;color:#555}.view-attachment{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:#f5f5f5;border-radius:6px;border:1px solid #e0e0e0}.view-attachment span{color:#333;font-weight:500}.view-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.view-actions button{padding:0;border:none;border-radius:6px;cursor:pointer;display:inline-block;text-align:center;transition:all .2s ease;height:40px;width:120px}.close-view-btn{background-color:#f5f5f5;color:#333}.close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;transition:all .2s ease}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-group textarea{resize:vertical;min-height:200px;font-family:inherit;line-height:1.5}.submit-btn,.cancel-btn{padding:0;border:none;border-radius:6px;font-size:1rem;cursor:pointer;display:inline-block;text-align:center;transition:all .2s ease;height:40px;width:120px}.submit-btn{background-color:#4caf50;color:#fff;box-shadow:0 2px 4px #4caf5033}.submit-btn:hover{background-color:#43a047;box-shadow:0 4px 8px #4caf504d;transform:translateY(-2px)}.cancel-btn:hover{background-color:#e0e0e0;transform:translateY(-2px)}@media (max-width: 768px){.notes-container{padding:1rem}.notes-header{flex-direction:column;gap:1rem}.add-note-btn{width:100%}.notes-grid{grid-template-columns:1fr;gap:1.5rem}.note-actions{flex-direction:column;gap:.5rem}.modal{width:95%;padding:1.5rem;max-height:85vh}.form-actions{flex-direction:column;gap:.8rem}.submit-btn,.cancel-btn{width:100%}.note-details{grid-template-columns:1fr;gap:1rem}.view-actions{flex-direction:column;gap:.8rem}.view-actions button{width:100%}.filter-options{overflow-x:auto;padding-bottom:.5rem;flex-wrap:nowrap;scrollbar-width:thin}.filter-options::-webkit-scrollbar{height:4px}.filter-options::-webkit-scrollbar-thumb{background-color:#4caf504d;border-radius:4px}}.schedule-page{padding:2rem;background:#f8f9fa;min-height:100vh}.schedule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.schedule-header h1{font-size:2.2rem;color:var(--text-primary);margin-bottom:.5rem}.schedule-header p{color:var(--text-secondary);font-size:1.1rem}.schedule-filters{display:flex;gap:1rem}.schedule-filters select{padding:.8rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;color:var(--text-primary);background:white;min-width:150px}.schedule-content{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.calendar-section{display:flex;flex-direction:column;gap:1.5rem}.calendar-card{background:white;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-header h2{font-size:1.3rem;color:var(--text-primary)}.month-nav{padding:.5rem 1rem;border:1px solid var(--border-color);background:white;border-radius:6px;cursor:pointer;color:var(--text-primary);transition:all .2s}.month-nav:hover{border-color:orange;color:orange}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.weekday{text-align:center;padding:.5rem;font-weight:500;color:var(--text-secondary);font-size:.9rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;position:relative;transition:all .2s}.calendar-day:hover{border-color:orange;background:#fff9f0}.calendar-day.selected{background:orange;color:#fff;border-color:orange}.event-dot{position:absolute;bottom:4px;width:6px;height:6px;background:orange;border-radius:50%}.selected-date-events{background:white;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.selected-date-events h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.date-events-list{display:flex;flex-direction:column;gap:1rem}.upcoming-events{background:white;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.upcoming-events h3{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.2rem}.events-list{display:flex;flex-direction:column;gap:1rem}.event-card{background:#f8f9fa;border-radius:8px;padding:1.2rem}.event-header{display:flex;justify-content:space-between;margin-bottom:.8rem}.event-type{font-size:.85rem;font-weight:500;color:orange}.event-status{font-size:.85rem;color:#2e7d32}.event-card h4{color:var(--text-primary);margin-bottom:.5rem;font-size:1.1rem}.course-name{color:var(--text-secondary);font-size:.9rem;margin-bottom:.8rem}.event-datetime{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:.9rem}.event-card.live-class{border-left:4px solid #2196f3}.event-card.assignment-due{border-left:4px solid #ff9800}.event-card.exam{border-left:4px solid #f44336}.add-event-button{position:fixed;bottom:2rem;right:2rem;padding:1rem 2rem;background:orange;color:#fff;border:none;border-radius:30px;font-size:1rem;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #ffa5004d;transition:all .2s}.add-event-button:hover{background:#ff8c00;transform:translateY(-2px);box-shadow:0 4px 12px #ffa50066}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000}.add-event-modal{background:white;border-radius:12px;padding:2rem;width:90%;max-width:500px;position:relative}.close-modal{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer}.event-form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.95rem;color:var(--text-primary)}.form-group input,.form-group select{padding:.8rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.form-actions button{padding:.8rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer}.form-actions button:first-child{background:white;border:1px solid var(--border-color);color:var(--text-primary)}.submit-button{background:orange;border:none;color:#fff}@media (max-width: 1200px){.schedule-content{grid-template-columns:1fr}}@media (max-width: 768px){.schedule-page{padding:1rem}.schedule-header{flex-direction:column}.schedule-filters{width:100%;flex-direction:column}.schedule-filters select{width:100%}.calendar-grid{gap:.25rem}.calendar-day{font-size:.9rem}.add-event-button{bottom:1rem;right:1rem;padding:.8rem 1.5rem}}@media (max-width: 480px){.weekday{font-size:.8rem}.event-card{padding:1rem}}.event-details-modal{background:white;border-radius:12px;padding:0;width:90%;max-width:600px;position:relative;overflow:hidden;box-shadow:0 15px 40px #00000026;animation:slideUp .3s ease}.event-details-header{padding:2rem;position:relative;color:#fff}.event-details-header.live-class{background:linear-gradient(135deg,#2196f3,#1976d2)}.event-details-header.assignment-due{background:linear-gradient(135deg,#ff9800,#f57c00)}.event-details-header.exam{background:linear-gradient(135deg,#f44336,#d32f2f)}.event-badge{background:rgba(255,255,255,.2);padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;margin-bottom:.75rem;display:inline-block}.event-details-header h2{font-size:1.5rem;margin:0;font-weight:600}.event-details-content{padding:2rem}.event-detail-item{margin-bottom:1rem;display:flex;align-items:center}.detail-label{font-weight:500;color:var(--text-secondary);width:80px}.detail-value{font-weight:500;color:var(--text-primary)}.status-upcoming{color:#2e7d32}.status-completed{color:#1976d2}.event-description{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.event-description h3{font-size:1rem;color:var(--text-primary);margin-bottom:.75rem}.event-description p{line-height:1.6;color:var(--text-secondary);font-size:.95rem}.event-details-footer{padding:1.5rem 2rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem}.join-class-button{background:#2196f3;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer}.submit-work-button{background:#ff9800;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer}.close-details-button{background:white;border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer}.calendar-day.empty{border:none;pointer-events:none}.no-events{padding:1.5rem 1rem;text-align:center;color:var(--text-secondary);background:#f8f9fa;border-radius:8px;font-size:.95rem}.form-group textarea{padding:.8rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;font-family:inherit;resize:vertical}@media (max-width: 768px){.event-details-modal{width:95%}.event-details-header,.event-details-content,.event-details-footer{padding:1.25rem}.detail-label{width:70px}}.recordings-container{padding:2rem;background-color:#fff}.recordings-header{margin-bottom:2rem}.recordings-header h1{font-size:2rem;color:#333;margin-bottom:.5rem}.recordings-header p{color:#666;font-size:1rem}.recordings-header .header-content{display:flex;justify-content:space-between;align-items:center}.recordings-tabs{margin-bottom:1.5rem;border-bottom:1px solid #ddd;padding-bottom:.5rem}.tab{padding:.5rem 0;border:none;background:none;font-size:1.2rem;color:#333;font-weight:500}.tab:hover{color:#007bff}.tab.active{color:#007bff;font-weight:500;border-bottom:2px solid #007bff}.modal-actions{display:flex;gap:1rem;padding:1rem;border-top:1px solid #eee}.submit-btn,.cancel-btn,.confirm-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.action-btn{border:none;padding:6px 12px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;margin:0;text-decoration:none}.watch-btn{background-color:#007bff;color:#fff}.watch-btn:hover{background-color:#0056b3}.download-btn{background-color:#28a745;color:#fff;height:40px;line-height:24px}.download-btn:hover{background-color:#218838}.remove-btn{background-color:#dc3545;color:#fff}.remove-btn:hover{background-color:#c82333}.confirm-btn{background-color:#dc3545;color:#fff;flex:2}.confirm-btn:hover{background-color:#c82333}.modal-content{padding:1.5rem;text-align:center}.modal-content p{color:#333;margin-bottom:1.5rem;font-size:1.1rem;border-bottom:1px solid #e0e0e0}.tab.active{color:#ff6b00;font-weight:500}.recording-actions{display:flex;gap:8px;margin-top:1rem;justify-content:flex-start;align-items:center;padding:0 16px;width:100%;flex-direction:row;white-space:nowrap;min-height:40px}.add-recording-btn{background-color:#4caf50;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;font-weight:500;font-size:1rem;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.add-recording-btn i{color:#fff;font-size:1.1rem}.add-recording-btn:hover{background-color:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.add-recording-btn:hover{background-color:#45a049}.add-recording-btn i{font-size:1rem}.tab.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:#ff6b00}.recordings-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.search-bar{flex:1;min-width:200px}.search-bar input{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:4px;font-size:1rem}.filter-dropdowns{display:flex;gap:1rem}.filter-dropdowns select{padding:.75rem;border:1px solid #e0e0e0;border-radius:4px;font-size:1rem;min-width:150px}.recordings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.recording-card{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:transform .2s ease-in-out;padding-bottom:16px}.recording-card:hover{transform:translateY(-5px);box-shadow:0 4px 12px #0000001a}.recording-thumbnail{width:100%;height:200px;overflow:hidden}.recording-thumbnail img{width:100%;height:100%;object-fit:cover}.recording-info{padding:1rem}.recording-info h3{margin:0;font-size:1.1rem;color:#333;margin-bottom:.5rem}.recording-info p{margin:.25rem 0;color:#666;font-size:.9rem}.recording-actions{padding:1rem;display:flex;flex-wrap:wrap;gap:.5rem;border-top:1px solid #e0e0e0}.recording-actions button{flex:1;min-width:100px;padding:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.play-btn{background-color:#ff6b00;color:#fff}.play-btn:hover{background-color:#f50}.download-btn{background-color:#f5f5f5;color:#333}.download-btn:hover{background-color:#e0e0e0}.recordings-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem}.recordings-pagination button{padding:.5rem 1rem;border:1px solid #e0e0e0;background:white;color:#666;cursor:pointer;border-radius:4px}.recordings-pagination button.active{background-color:#ff6b00;color:#fff;border-color:#ff6b00}.recordings-pagination button:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:white;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.video-modal{background:white;border-radius:12px;width:90%;max-width:1000px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.5rem}.close-btn:hover{color:#333}.video-container{position:relative;padding-top:56.25%;width:100%}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-info{padding:1.5rem}.video-description{color:#333;margin-bottom:1rem}.video-meta{display:flex;gap:1rem;color:#666;font-size:.875rem}.form-group{margin-bottom:1.5rem;padding:0 1.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem}.form-group textarea{height:100px;resize:vertical}.form-actions{display:flex;gap:1rem;padding:1.5rem;border-top:1px solid #e0e0e0}.submit-btn,.cancel-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .3s}.submit-btn{background-color:#ff6b00;color:#fff;flex:2}.cancel-btn{background-color:#f5f5f5;color:#333;flex:1}@media (max-width: 768px){.recordings-container{padding:1rem}.recordings-filters{flex-direction:column}.filter-dropdowns{width:100%}.filter-dropdowns select{flex:1}.recordings-grid{grid-template-columns:1fr}.modal,.video-modal{width:95%;margin:1rem}}.video-actions{margin-top:1rem;display:flex;gap:.5rem}.form-hint{display:block;font-size:.8rem;color:#666;margin-top:.25rem}.no-recordings{text-align:center;padding:2rem;background-color:#f9f9f9;border-radius:8px;margin:2rem 0}.no-recordings h3{color:#666;margin-bottom:1rem}.no-recordings p{color:#888;margin-bottom:1.5rem}.add-first-recording{background-color:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.add-first-recording:hover{background-color:#0069d9}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background-color:#000}.video-container iframe,.video-container video{position:absolute;top:0;left:0;width:100%;height:100%}.video-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:1.2rem}.error-message{color:#d9534f;background-color:#f9f2f2;border:1px solid #f5c6cb;border-radius:4px;padding:.75rem 1rem;margin-bottom:1rem;text-align:center}.success-message{color:#28a745;background-color:#f2f9f2;border:1px solid #c3e6cb;border-radius:4px;padding:.75rem 1rem;margin-bottom:1rem;text-align:center}.discussions-container{padding:2rem;background-color:#fff;min-height:80vh}.discussions-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.new-discussion-btn{padding:.75rem 1.5rem;background-color:#ff6b00;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 5px #ff6b0033}.new-discussion-btn:hover{background-color:#f50;transform:translateY(-1px);box-shadow:0 4px 8px #ff6b004d}.discussions-filters{margin-bottom:2rem}.filter-tabs{display:flex;gap:1rem;margin-bottom:1.5rem;border-bottom:1px solid #e0e0e0;flex-wrap:wrap}.filter-tab{padding:.75rem 1.5rem;background:none;border:none;color:#666;cursor:pointer;font-size:1rem;position:relative;transition:all .2s ease}.filter-tab:hover{color:#ff6b00}.filter-tab.active{color:#ff6b00;font-weight:500}.filter-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:#ff6b00}.search-bar{width:100%;max-width:600px;position:relative}.search-bar input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #e0e0e0;border-radius:4px;font-size:1rem;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.75rem center}.search-bar input:focus{border-color:#ff6b00;outline:none;box-shadow:0 0 0 3px #ff6b001a}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,107,0,.1);border-radius:50%;border-top-color:#ff6b00;animation:spin 1s ease-in-out infinite;margin-bottom:1rem}.empty-state p{color:#666;margin-bottom:1.5rem}.start-discussion-btn{padding:.75rem 1.5rem;background-color:#ff6b00;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s ease}.start-discussion-btn:hover{background-color:#f50}.discussion-threads{display:flex;flex-direction:column;gap:1rem}.discussion-card{padding:1.5rem;border:1px solid #e0e0e0;cursor:pointer;border-radius:8px;transition:transform .2s ease,box-shadow .2s ease}.discussion-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.discussion-main{display:flex;gap:1.5rem}.author-info{display:flex;flex-direction:column;align-items:center;gap:.5rem}.author-avatar{width:40px;height:40px;border-radius:50%}.author-name{font-size:.9rem;color:#666}.discussion-content{flex:1}.discussion-content h3{margin:0;font-size:1.1rem;color:#333;margin-bottom:.75rem}.discussion-preview{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:.75rem}.discussion-meta{display:flex;align-items:center;gap:1rem;color:#666;font-size:.9rem;flex-wrap:wrap}.course-tag{padding:.25rem .75rem;background-color:#f5f5f5;border-radius:20px;transition:background-color .2s ease}.discussion-card:hover .course-tag{background-color:#f0f0f0}.replies,.last-active{display:flex;align-items:center;gap:.5rem}.modal{background-color:#fff;border-radius:8px;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header h2{margin:0;font-size:1.5rem;color:#333}.close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer}.submit-btn{background-color:#ff6b00;color:#fff}.submit-btn:hover{background-color:#f50}@media (max-width: 768px){.discussions-container{padding:1rem}.discussions-header{flex-direction:column;gap:1rem}.new-discussion-btn{width:100%}.filter-tabs{flex-wrap:wrap}.filter-tab{flex:1;min-width:120px;text-align:center}.discussion-main{flex-direction:column;gap:1rem}.author-info{flex-direction:row;gap:1rem}.discussion-meta{flex-wrap:wrap}.modal{width:95%;padding:1.5rem}}.discussion-detail-container{padding:2rem;background-color:#fff}.discussion-detail-header{margin-bottom:2rem}.back-btn{background:none;border:none;color:#666;font-size:1rem;cursor:pointer;display:flex;align-items:center;padding:0;margin-bottom:1rem}.back-btn:hover{color:#ff6b00}.discussion-detail-header h1{font-size:1.75rem;color:#333;margin-bottom:1rem}.discussion-meta-detail{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.course-tag-detail{padding:.25rem .75rem;background-color:#f5f5f5;border-radius:20px;color:#666;font-size:.9rem}.replies-detail{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.9rem}.discussion-detail-content{background-color:#f9f9f9;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.author-info-detail{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.author-avatar-detail{width:40px;height:40px;border-radius:50%}.author-meta{display:flex;flex-direction:column}.author-name-detail{font-weight:500;color:#333}.post-date{font-size:.85rem;color:#888}.content-text{font-size:1rem;line-height:1.6;color:#333;white-space:pre-wrap}.replies-section{margin-bottom:2rem}.replies-section h2{font-size:1.5rem;color:#333;margin-bottom:1.5rem}.reply-card{background-color:#f9f9f9;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.reply-form-container{background-color:#f9f9f9;border-radius:8px;padding:1.5rem}.reply-form-container h3{font-size:1.25rem;color:#333;margin-bottom:1.5rem}.form-actions-right{display:flex;justify-content:flex-end;margin-top:1rem}@media (max-width: 768px){.discussion-detail-container{padding:1rem}.discussion-detail-header h1{font-size:1.5rem}.reply-card,.discussion-detail-content,.reply-form-container{padding:1rem}}.resources-container{padding:2rem;background-color:#fff;min-height:80vh}.resources-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.add-resource-btn{padding:.75rem 1.5rem;background-color:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 5px #4a90e233}.add-resource-btn:hover{background-color:#357abd;transform:translateY(-2px);box-shadow:0 4px 8px #4a90e24d}.add-resource-btn-empty{padding:.75rem 1.5rem;background-color:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;margin-top:1rem}.add-resource-btn-empty:hover{background-color:#357abd}.resources-controls{margin-bottom:2rem}.search-container{margin-bottom:1.5rem}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:.75rem center}.search-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.resources-filters{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.filter-btn{padding:.6rem 1.25rem;background-color:#f5f5f5;border:none;border-radius:20px;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.filter-btn:hover{background-color:#e0e0e0;transform:translateY(-1px)}.filter-btn.active{background-color:#4a90e2;color:#fff;box-shadow:0 2px 4px #4a90e233}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem}.loading-spinner{width:40px;height:40px;border:3px solid rgba(74,144,226,.1);border-radius:50%;border-top-color:#4a90e2;animation:spin 1s ease-in-out infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;background-color:#f9f9f9;border-radius:8px;border:1px dashed #e0e0e0}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{margin:0;margin-bottom:.5rem;color:#333}.empty-state p{color:#666;margin-bottom:1rem}.resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.resource-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:1.5rem;transition:all .3s ease;display:flex;gap:1.5rem;box-shadow:0 2px 8px #0000000d}.resource-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #00000014;border-color:#d0d0d0}.resource-icon{font-size:2rem;color:#4a90e2;display:flex;align-items:center;justify-content:center;width:60px;height:60px;background-color:#4a90e21a;border-radius:12px;transition:all .3s ease}.resource-card:hover .resource-icon{background-color:#4a90e226;transform:scale(1.05)}.resource-content{flex:1;display:flex;flex-direction:column}.resource-header{margin-bottom:.5rem}.resource-content h3{margin:0;font-size:1.1rem;color:#333;margin-bottom:.5rem}.resource-meta{display:flex;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.resource-type{background-color:#f0f7ff;color:#4a90e2;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.resource-date{color:#888;font-size:.8rem}.resource-content p{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5;flex-grow:1}.resource-footer{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.file-size,.duration{color:#888;font-size:.8rem;display:flex;align-items:center;gap:.3rem}.action-btn{border:none;border-radius:6px;font-size:.9rem;cursor:pointer;display:inline-block;transition:all .2s ease;font-weight:500;text-align:center;width:110px;height:36px}.action-btn i{font-size:.9rem;margin-right:5px}.download-btn{background-color:#4a90e2;color:#fff;box-shadow:0 2px 4px #4a90e233}.download-btn:hover{background-color:#357abd;box-shadow:0 4px 8px #4a90e24d;transform:translateY(-1px)}.watch-btn{background-color:#ff6b00;color:#fff;box-shadow:0 2px 4px #ff6b0033;padding:0}.watch-btn:hover{background-color:#f50;box-shadow:0 4px 8px #ff6b004d;transform:translateY(-1px)}.open-btn{background-color:#28a745;color:#fff;box-shadow:0 2px 4px #28a74533;padding:0}.open-btn:hover{background-color:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-1px)}.read-btn{background-color:#6c757d;color:#fff;box-shadow:0 2px 4px #6c757d33;padding:0}.read-btn:hover{background-color:#5a6268;box-shadow:0 4px 8px #6c757d4d;transform:translateY(-1px)}.view-btn{background-color:#17a2b8;color:#fff;box-shadow:0 2px 4px #17a2b833;padding:0}.view-btn:hover{background-color:#138496;box-shadow:0 4px 8px #17a2b84d;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease}.modal{background-color:#fff;border-radius:10px;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease;box-shadow:0 10px 25px #00000026}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.modal-header h2{margin:0;font-size:1.5rem;color:#333;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;transition:color .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%}.close-btn:hover{color:#ff5252;background-color:#ff52521a}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:4px;font-size:1rem}.form-group input[type=file]{padding:.5rem 0}.submit-btn,.cancel-btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer}.submit-btn{background-color:#4a90e2;color:#fff}.submit-btn:hover{background-color:#357abd}@media (max-width: 768px){.resources-container{padding:1rem}.resources-header{flex-direction:column;gap:1rem}.add-resource-btn{width:100%}.resources-controls{margin-bottom:1.5rem}.resources-filters{justify-content:flex-start}.filter-btn{flex:1;min-width:calc(33.333% - .75rem);text-align:center;padding:.5rem .75rem}.resources-grid{grid-template-columns:1fr;gap:1rem}.resource-card{flex-direction:column;gap:1rem;padding:1.25rem}.resource-icon{width:50px;height:50px}.resource-footer{flex-direction:column;align-items:flex-start;gap:.75rem}.resource-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.action-btn{width:100%;text-align:center;height:40px}.form-row{flex-direction:column;gap:1.5rem}.modal,.preview-modal{width:95%;padding:1.5rem;max-height:85vh}.preview-content{padding:0 1rem 1.5rem}.pdf-preview{height:50vh}}.resource-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.resource-tag{background-color:#f5f5f5;color:#666;font-size:.75rem;padding:.2rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.resource-tag:hover{background-color:#4a90e2;color:#fff}.preview-modal{background-color:#fff;border-radius:10px;width:90%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #00000026}.preview-content{padding:0 2rem 2rem;display:flex;flex-direction:column;align-items:center}.preview-media{max-width:100%;max-height:70vh;object-fit:contain;border-radius:4px}.pdf-preview{width:100%;height:70vh}.pdf-frame{width:100%;height:100%;border:none;border-radius:4px}.unsupported-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.form-row{display:flex;gap:1rem;margin-bottom:1.5rem}.form-row .form-group{flex:1;margin-bottom:0}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:all .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.file-upload-container{position:relative;overflow:hidden;display:inline-block;width:100%}.file-input{position:absolute;left:0;top:0;opacity:0;width:100%;height:100%;cursor:pointer}.file-upload-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:#f5f5f5;border:1px dashed #ccc;border-radius:6px;font-size:1rem;color:#666;cursor:pointer;transition:all .2s ease}.file-upload-button:hover{background-color:#e9e9e9;border-color:#b5b5b5}.file-preview{display:flex;align-items:center;justify-content:space-between;background-color:#f5f5f5;padding:.5rem .75rem;border-radius:4px;margin-top:.5rem}.remove-file{background:none;border:none;color:#ff5252;cursor:pointer;font-size:1rem}.downloads-container{padding:2rem;background-color:#fff}.downloads-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.upload-btn{padding:.75rem 1.5rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.upload-btn:hover{background-color:#45a049}.filters{display:flex;gap:1rem;margin-bottom:2rem}.search-input,.filter-select{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.search-input{flex:1;max-width:400px}.filter-select{min-width:150px}.table-container{overflow-x:auto}.downloads-table{width:100%;border-collapse:collapse;background-color:#fff}.downloads-table th,.downloads-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.downloads-table th{background-color:#f8f9fa;color:#333;font-weight:600}.downloads-table tr:hover{background-color:#f8f9fa}.download-btn{display:inline-block;padding:.5rem 1rem;background-color:#2196f3;color:#fff;text-decoration:none;border-radius:4px;transition:background-color .2s}.download-btn:hover{background-color:#1976d2}.mobile-view{display:none}.file-card{background-color:#fff;border:1px solid #eee;border-radius:8px;padding:1rem;margin-bottom:1rem}.file-info h3{margin:0 0 .5rem;color:#333;font-size:1.1rem}.file-info p{margin:.25rem 0;color:#666}.file-info span{font-weight:600;color:#333}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background-color:#fff;border-radius:8px;padding:2rem;width:90%;max-width:500px}.modal h2{margin:0 0 1.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.cancel-btn,.submit-btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer}.cancel-btn{background-color:#f5f5f5;color:#333}.submit-btn{background-color:#4caf50;color:#fff}.cancel-btn:hover{background-color:#e0e0e0}.submit-btn:hover{background-color:#45a049}@media (max-width: 768px){.downloads-container{padding:1rem}.downloads-header{flex-direction:column;gap:1rem}.upload-btn{width:100%}.filters{flex-direction:column}.search-input{max-width:none}.desktop-view{display:none}.mobile-view{display:block}.modal{padding:1.5rem;margin:1rem}.form-actions{flex-direction:column}.cancel-btn,.submit-btn{width:100%}}.classes-container{padding:2rem;background-color:#fff}.classes-header{margin-bottom:2rem}.classes-controls{display:flex;gap:1rem;margin-bottom:2rem}.search-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;max-width:400px}.filter-select{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;min-width:180px;background-color:#fff}.classes-section{margin-bottom:3rem}.classes-section h2{font-size:1.5rem;color:#333;margin-bottom:1.5rem}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.class-card{background-color:#fff;border-radius:8px;padding:0;border:1px solid #eee;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}.class-preview{position:relative;width:100%;padding-top:56.25%;margin-bottom:0;overflow:hidden}.preview-thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.preview-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.preview-overlay i{color:#fff;font-size:3rem}.class-preview:hover .preview-thumbnail{transform:scale(1.05)}.class-preview:hover .preview-overlay{opacity:1}.class-header,.class-details{padding:1rem 1.5rem}.class-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.class-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.class-header h3{font-size:1.25rem;color:#333;margin:0}.duration{background-color:#e8f5e9;color:#2e7d32;padding:.25rem .75rem;border-radius:20px;font-size:.875rem}.class-details{margin-bottom:1.5rem}.class-details .description{color:#666;font-size:.9rem;margin-top:1rem;display:-webkit-box;display:box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;box-orient:vertical;overflow:hidden}.topic{color:#666;font-size:1rem;margin-bottom:1rem}.date-time,.date,.teacher{color:#666;font-size:.9rem;margin:.5rem 0}.join-button,.watch-button{display:block;width:100%;padding:.75rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;text-align:center;text-decoration:none;transition:background-color .2s ease}.join-button{background-color:#2196f3;color:#fff}.join-button:hover{background-color:#1976d2}.watch-button{background-color:#ff9800;color:#fff}.watch-button:hover{background-color:#f57c00}.class-card.upcoming{border-left:4px solid #2196F3}.class-card.past{border-left:4px solid #FF9800}@media (max-width: 768px){.classes-container{padding:1rem}.classes-controls{flex-direction:column}.search-input{max-width:none}.filter-select{width:100%}.classes-grid{grid-template-columns:1fr}.class-card{padding:1rem}}.courses-container{padding:2rem;background-color:#fff}.courses-header{margin-bottom:2rem}.header-content h1{font-size:2rem;color:#333;margin-bottom:.5rem}.header-content p{color:#666;font-size:1rem}.courses-controls{display:flex;justify-content:space-between;gap:1rem;margin-bottom:2rem}.search-filter-group{display:flex;gap:1rem;flex:1}.search-input{flex:1;max-width:400px;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.category-select,.sort-select{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;min-width:150px;background-color:#fff}.sort-group{display:flex;align-items:center;gap:.5rem}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.course-card{background:white;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.course-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.course-thumbnail img{width:100%;height:200px;object-fit:cover}.course-content{padding:1.5rem}.course-content h3{margin:0 0 .5rem;font-size:1.25rem;color:#333}.instructor{color:#666;font-size:.9rem;margin-bottom:1rem}.description{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.progress-section{margin-bottom:1.5rem}.progress-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;color:#666}.progress-bar{height:6px;background-color:#eee;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background-color:#4caf50;transition:width .3s ease}.view-course-btn{width:100%;padding:.75rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.view-course-btn:hover{background-color:#1976d2}.course-detail-container{padding:2rem;background-color:#fff}.back-button{padding:.75rem 1.5rem;background:none;border:1px solid #ddd;border-radius:4px;font-size:1rem;cursor:pointer;margin-bottom:2rem;transition:background-color .2s}.back-button:hover{background-color:#f5f5f5}.course-header{display:flex;gap:2rem;margin-bottom:2rem}.course-header .course-thumbnail{flex:0 0 40%}.course-header img{width:100%;border-radius:8px}.course-info{flex:1}.course-info h1{margin:0 0 1rem;font-size:2rem;color:#333}.course-stats{display:flex;gap:1.5rem;margin-top:1rem}.course-stats span{display:flex;align-items:center;gap:.5rem;color:#666}.course-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem;margin-top:2rem}.module-card{background:white;border:1px solid #eee;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.module-card h3{margin:0 0 1rem;color:#333}.lesson-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #eee}.lesson-info{display:flex;align-items:center;gap:.75rem}.status{color:#999}.status.completed{color:#4caf50}.duration{color:#666;font-size:.9rem}.assignment-card{background:white;border:1px solid #eee;border-radius:6px;padding:1rem;margin-bottom:1rem}.assignment-card h4{margin:0 0 .5rem;color:#333}.status.submitted{color:#4caf50}.status.pending{color:#ff9800}.resource-link{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:white;border:1px solid #eee;border-radius:4px;margin-bottom:.5rem;text-decoration:none;color:#333;transition:background-color .2s}.resource-link:hover{background-color:#f5f5f5}.resource-type{font-size:.85rem;color:#666}@media (max-width: 1024px){.course-content-grid{grid-template-columns:1fr}.side-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}}@media (max-width: 768px){.courses-container,.course-detail-container{padding:1rem}.courses-controls,.search-filter-group{flex-direction:column}.search-input{max-width:none}.course-header{flex-direction:column}.side-content{grid-template-columns:1fr}}[data-theme=dark]{--bg-color: #121212;--card-bg: #1e1e1e;--text-color: #e0e0e0;--text-muted: #aaaaaa;--border-color: #333333;--primary-color: #7c4dff;--primary-hover: #651fff;--success-color: #00c853;--danger-color: #ff1744;--warning-color: #ffab00;--info-color: #00b0ff;--toggle-bg: #333333;--toggle-active: #7c4dff;--input-bg: #2d2d2d;--sidebar-active: #3a3a3a;--sidebar-hover: #2d2d2d;--shadow-color: rgba(0, 0, 0, .3);--modal-overlay: rgba(0, 0, 0, .8)}[data-theme=light]{--bg-color: #f6f9fc;--card-bg: #ffffff;--text-color: #333333;--text-muted: #6b7280;--border-color: #e2e8f0;--primary-color: #3949ab;--primary-hover: #303f9f;--success-color: #43a047;--danger-color: #d32f2f;--warning-color: #f57c00;--info-color: #0288d1;--toggle-bg: #e2e8f0;--toggle-active: #5c6bc0;--input-bg: #ffffff;--sidebar-active: #e8eaf6;--sidebar-hover: #f8fafc;--shadow-color: rgba(0, 0, 0, .05);--modal-overlay: rgba(0, 0, 0, .5)}[data-font-size=small]{--base-font-size: .9rem;--h1-size: 1.8rem;--h2-size: 1.5rem;--h3-size: 1.2rem;--button-font: .9rem}[data-font-size=medium]{--base-font-size: 1rem;--h1-size: 2rem;--h2-size: 1.75rem;--h3-size: 1.3rem;--button-font: 1rem}[data-font-size=large]{--base-font-size: 1.1rem;--h1-size: 2.2rem;--h2-size: 2rem;--h3-size: 1.5rem;--button-font: 1.1rem}body{font-size:var(--base-font-size, 1rem);color:var(--text-color, #333333)}.settings-container{display:flex;position:relative;min-height:calc(100vh - 64px);background-color:var(--bg-color, #f6f9fc);padding:2rem;margin-top:64px;gap:2rem;max-width:1800px;margin-left:auto;margin-right:auto;transition:background-color .3s ease}.mobile-menu-toggle{display:none;width:100%;padding:1.25rem;background:var(--card-bg, white);border:none;border-radius:16px;margin-bottom:1.5rem;font-size:var(--button-font, 1.1rem);font-weight:500;color:var(--primary-color, #1a237e);cursor:pointer;position:sticky;top:1rem;z-index:10;box-shadow:0 4px 20px var(--shadow-color, rgba(0,0,0,.03));transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.mobile-menu-toggle:hover{transform:translateY(-2px)}.mobile-menu-toggle i{font-size:1.2rem}.settings-sidebar{flex:0 0 300px;background:var(--card-bg, white);padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px var(--shadow-color, rgba(0,0,0,.03));height:fit-content;position:sticky;top:calc(64px + 2rem);display:flex;flex-direction:column;gap:.75rem;transition:background-color .3s ease,left .3s ease;z-index:100}.sidebar-header{display:none;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #e2e8f0);margin-bottom:1rem}.sidebar-header h2{margin:0;font-size:var(--h2-size, 1.75rem);color:var(--primary-color, #1a237e)}.close-sidebar{background:transparent;border:none;font-size:1.5rem;color:var(--text-muted, #64748b);cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.close-sidebar:hover{background-color:var(--border-color, #e2e8f0);color:var(--danger-color, #d32f2f)}.sidebar-btn{display:flex;align-items:center;width:100%;padding:1rem 1.25rem;text-align:left;background:none;border:2px solid transparent;border-radius:12px;font-size:var(--base-font-size, 1.1rem);color:var(--text-muted, #64748b);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);gap:.75rem}.sidebar-btn i{font-size:1.25rem;opacity:.7;transition:opacity .3s ease}.sidebar-btn:hover{background-color:var(--sidebar-hover, #f8fafc);border-color:var(--border-color, #e2e8f0);color:var(--primary-color, #1a237e)}.sidebar-btn:hover i{opacity:1}.sidebar-btn.active{background-color:var(--sidebar-active, #e8eaf6);color:var(--primary-color, #1a237e);font-weight:600;border-color:var(--primary-color, #5c6bc0)}.settings-content{flex:1;max-width:900px;transition:all .3s ease}.save-btn,.connect-btn,.disconnect-btn,.upload-btn,.password-change-btn,.download-btn,.delete-btn,.cancel-btn,.select-all-btn{padding:1rem 1.5rem;border:none;border-radius:12px;cursor:pointer;font-size:var(--button-font, 1rem);font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.75rem;letter-spacing:.3px}.save-btn{background:linear-gradient(135deg,var(--primary-color, #5c6bc0),var(--primary-hover, #3949ab));color:#fff;box-shadow:0 4px 15px #5c6bc033}.save-btn:hover{background:linear-gradient(135deg,var(--primary-hover, #3949ab),var(--primary-hover, #283593));transform:translateY(-2px);box-shadow:0 6px 20px #5c6bc04d}.save-btn:disabled{background:#a0a0a0;transform:none;box-shadow:none;cursor:not-allowed;opacity:.7}.connect-btn{background:linear-gradient(135deg,var(--success-color, #66bb6a),var(--success-color, #43a047));color:#fff;box-shadow:0 4px 15px #4caf5033}.connect-btn:hover{background:linear-gradient(135deg,var(--success-color, #43a047),var(--success-color, #2e7d32));transform:translateY(-2px);box-shadow:0 6px 20px #4caf504d}.disconnect-btn{background:var(--card-bg, #ffffff);color:var(--text-color, #333333);border:2px solid var(--border-color, #e2e8f0);box-shadow:none}.disconnect-btn:hover{background:var(--danger-color, #ef5350);color:#fff;border-color:var(--danger-color, #ef5350);transform:translateY(-2px)}.upload-btn{background:linear-gradient(135deg,var(--primary-color, #5c6bc0),var(--primary-hover, #3949ab));color:#fff;box-shadow:0 4px 15px #5c6bc033}.upload-btn:hover{background:linear-gradient(135deg,var(--primary-hover, #3949ab),var(--primary-hover, #283593));transform:translateY(-2px);box-shadow:0 6px 20px #5c6bc04d}.password-change-btn{background:var(--card-bg, #ffffff);color:var(--primary-color, #3949ab);border:2px solid var(--primary-color, #3949ab);box-shadow:none;margin-top:.5rem;width:100%}.password-change-btn:hover{background:var(--primary-color, #3949ab);color:#fff;transform:translateY(-2px)}.download-btn{background:var(--warning-color, #FF9800);color:#fff;box-shadow:0 4px 15px #ff980033;width:100%}.download-btn:hover{background:var(--warning-color, #F57C00);transform:translateY(-2px);box-shadow:0 6px 20px #ff98004d}.download-btn:disabled{background:#a0a0a0;transform:none;box-shadow:none;cursor:not-allowed;opacity:.7}.delete-btn{background:var(--danger-color, #f44336);color:#fff;box-shadow:0 4px 15px #f4433633}.delete-btn:hover{background:var(--danger-color, #E53935);transform:translateY(-2px);box-shadow:0 6px 20px #f443364d}.delete-btn:disabled{background:#a0a0a0;transform:none;box-shadow:none;cursor:not-allowed;opacity:.7}.cancel-btn{background:var(--card-bg, #f0f0f0);color:var(--text-muted, #666);border:2px solid var(--border-color, #e2e8f0);box-shadow:none}.cancel-btn:hover{background:var(--bg-color, #e0e0e0);transform:translateY(-2px)}.select-all-btn{background:var(--card-bg, #ffffff);color:var(--primary-color, #3949ab);border:2px solid var(--primary-color, #3949ab);box-shadow:none;margin-bottom:1rem}.select-all-btn:hover{background:var(--primary-color, #3949ab);color:#fff;transform:translateY(-2px)}.upload-btn{background:linear-gradient(135deg,#5c6bc0,#3949ab);color:#fff;box-shadow:0 4px 15px #5c6bc033}.upload-btn:hover{background:linear-gradient(135deg,#3949ab,#283593);transform:translateY(-2px);box-shadow:0 6px 20px #5c6bc04d}.toggle{position:relative;display:inline-block;width:60px;height:34px}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e2e8f0;transition:all .3s ease;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:all .3s ease;border-radius:50%}input:checked+.toggle-slider{background:linear-gradient(135deg,#5c6bc0,#3949ab)}input:checked+.toggle-slider:before{transform:translate(26px)}.success-message{position:fixed;top:2rem;right:2rem;background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff;padding:1rem 1.5rem;border-radius:12px;font-weight:500;box-shadow:0 4px 15px #4caf5033;animation:slideDown .3s ease;z-index:1000}.settings-card{background:var(--card-bg, white);border-radius:16px;padding:2.5rem;margin-bottom:2rem;box-shadow:0 4px 20px var(--shadow-color, rgba(0,0,0,.03));border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1)}.settings-card:hover{border-color:var(--primary-color, #5c6bc0);transform:translateY(-2px)}.settings-card h2{margin:0 0 2rem;color:var(--primary-color, #1a237e);font-size:var(--h2-size, 1.75rem);font-weight:700;display:flex;align-items:center;gap:.75rem}.settings-card h2 i{color:var(--primary-color, #5c6bc0);font-size:1.5rem}.settings-card h3{color:var(--text-color, #1a237e);font-size:var(--h3-size, 1.3rem);margin-top:0}.settings-card h4{color:var(--text-color, #1a237e);font-size:calc(var(--base-font-size) * 1.1);margin:0}.settings-note{display:flex;align-items:center;gap:.75rem;margin-top:2rem;padding:1rem;background-color:var(--bg-color, #f6f9fc);border-radius:8px;color:var(--text-muted, #64748b)}.settings-note i{color:var(--info-color, #0288d1);font-size:1.2rem}.settings-note p{margin:0;font-size:calc(var(--base-font-size) * .9)}.form-group{margin-bottom:2rem;position:relative}.form-group label{display:block;margin-bottom:.75rem;color:var(--text-color, #1a237e);font-weight:500;font-size:var(--base-font-size, 1.1rem)}.form-group input,.form-group select{width:100%;padding:1rem 1.25rem;border:2px solid var(--border-color, #e2e8f0);border-radius:12px;font-size:var(--base-font-size, 1rem);color:var(--text-color, #1a237e);transition:all .3s ease;background-color:var(--input-bg, #fff)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color, #5c6bc0);box-shadow:0 0 0 4px #5c6bc01a}.form-group input::placeholder{color:var(--text-muted, #94a3b8)}.form-group input.error{border-color:var(--danger-color, #f44336)}.error-message{display:block;color:var(--danger-color, #f44336);margin-top:.5rem;font-size:.9rem}.password-input-group{position:relative;display:flex;align-items:center}.password-input-group input{flex:1}.password-input-group button{position:absolute;right:1rem;background:none;border:none;color:var(--text-muted, #64748b);cursor:pointer;font-size:1.1rem}.setting-description{color:var(--text-muted, #6b7280);font-size:.9rem;margin-top:.5rem}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.form-group input,.language-select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.profile-picture-section{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.profile-picture{width:100px;height:100px;border-radius:50%;object-fit:cover}.toggle{position:relative;display:inline-block;width:50px;height:26px}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.toggle-slider{background-color:#2196f3}input:checked+.toggle-slider:before{transform:translate(24px)}.setting-group{margin-bottom:2rem}.setting-group h3{margin:0 0 1rem;color:#444;font-size:1.1rem}.account-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:#f8f9fa;border-radius:4px}.notification-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.theme-selector,.font-size-selector{display:flex;gap:1rem}.theme-btn,.font-size-btn{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;background:white;cursor:pointer;transition:all .2s ease}.theme-btn.active,.font-size-btn.active{background-color:#2196f3;color:#fff;border-color:#2196f3}.save-btn,.upload-btn,.connect-btn,.disconnect-btn,.download-btn,.delete-btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.save-btn,.connect-btn{background-color:#2196f3;color:#fff}.save-btn:hover,.connect-btn:hover{background-color:#1976d2}.upload-btn{background-color:#4caf50;color:#fff}.upload-btn:hover{background-color:#43a047}.disconnect-btn{background-color:#f0f0f0;color:#666}.disconnect-btn:hover{background-color:#e0e0e0}.download-btn{background-color:#ff9800;color:#fff;width:100%;margin-bottom:1rem}.download-btn:hover{background-color:#f57c00}.delete-btn{background-color:#f44336;color:#fff;width:100%}.delete-btn:hover{background-color:#e53935}.profile-picture-section{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.profile-image-container{position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden;cursor:pointer}.profile-picture{width:100%;height:100%;object-fit:cover;border-radius:50%;transition:filter .3s ease}.profile-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease;border-radius:50%}.profile-overlay i{color:#fff;font-size:1.5rem}.profile-image-container:hover .profile-picture{filter:brightness(.8)}.profile-image-container:hover .profile-overlay{opacity:1}.toggle{position:relative;display:inline-block;width:56px;height:28px;margin-left:auto}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--toggle-bg, #e2e8f0);transition:all .3s ease;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:all .3s ease;border-radius:50%}input:checked+.toggle-slider{background:var(--toggle-active, #5c6bc0)}input:checked+.toggle-slider:before{transform:translate(28px)}.security-option{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-color, #f8f9fa);border-radius:8px;margin-bottom:1rem}.security-option .option-title{font-weight:600;margin:0;color:var(--text-color, #333)}.security-option .option-description{margin:.25rem 0 0;color:var(--text-muted, #6b7280);font-size:.9rem}.connected-accounts{display:flex;flex-direction:column;gap:1rem}.account-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-color, #f8f9fa);border-radius:8px}.account-info{display:flex;align-items:center;gap:1rem}.account-info i{font-size:1.5rem;width:40px;height:40px;background-color:var(--card-bg, white);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-color, #5c6bc0)}.account-name{margin:0;font-weight:600;color:var(--text-color, #333)}.account-status{margin:0;color:var(--text-muted, #6b7280);font-size:.85rem}.notification-controls{margin-bottom:1.5rem}.notification-list{display:flex;flex-direction:column;gap:1rem}.notification-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:var(--bg-color, #f8f9fa);border-radius:8px}.notification-title{margin:0;font-weight:600;color:var(--text-color, #333)}.notification-description{margin:.25rem 0 0;color:var(--text-muted, #6b7280);font-size:.85rem}.theme-options{display:flex;gap:1.5rem;margin-bottom:2rem}.theme-option{flex:1;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;border:2px solid var(--border-color, #e2e8f0);cursor:pointer;transition:transform .3s ease,border-color .3s ease}.theme-option:hover{transform:translateY(-5px)}.theme-option.active{border-color:var(--primary-color, #5c6bc0)}.theme-preview{height:150px;padding:.5rem;position:relative}.theme-preview.light-theme{background-color:#fff}.theme-preview.dark-theme{background-color:#121212}.preview-header{height:20px;width:100%;background-color:#f1f1f1;margin-bottom:8px;border-radius:4px}.theme-preview.dark-theme .preview-header{background-color:#333}.preview-sidebar{width:30%;height:calc(100% - 28px);background-color:#f8f8f8;float:left;border-radius:4px}.theme-preview.dark-theme .preview-sidebar{background-color:#222}.preview-content{width:66%;height:calc(100% - 28px);float:right;display:flex;flex-direction:column;gap:8px}.preview-line{height:10px;background-color:#e0e0e0;border-radius:4px}.theme-preview.dark-theme .preview-line{background-color:#444}.preview-line.short{width:60%}.theme-label{padding:1rem;background-color:var(--card-bg, white);color:var(--text-color, #333);display:flex;align-items:center;gap:.5rem;font-weight:500}.theme-label i:first-child{color:var(--primary-color, #5c6bc0)}.theme-label i.fa-check-circle{margin-left:auto;color:var(--success-color, #43a047)}.font-size-options{display:flex;gap:1rem}.font-size-option{flex:1;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;background-color:var(--bg-color, #f8f9fa);border-radius:8px;cursor:pointer;transition:transform .3s ease,background-color .3s ease}.font-size-option:hover{transform:translateY(-5px)}.font-size-option.active{background-color:var(--sidebar-active, #e8eaf6)}.sample-text{font-weight:700;color:var(--primary-color, #5c6bc0);margin-bottom:1rem}.sample-text.small{font-size:1.5rem}.sample-text.medium{font-size:2rem}.sample-text.large{font-size:2.5rem}.font-size-label{display:flex;align-items:center;gap:.5rem;color:var(--text-color, #333)}.font-size-label i{color:var(--success-color, #43a047)}.language-selector{position:relative}.language-select{width:100%;padding:1rem 1.25rem;border:2px solid var(--border-color, #e2e8f0);border-radius:12px;font-size:var(--base-font-size, 1rem);color:var(--text-color, #1a237e);background-color:var(--input-bg, #fff);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.language-icon{position:absolute;top:50%;right:1.25rem;transform:translateY(-50%);color:var(--text-muted, #64748b);pointer-events:none}.data-management{display:flex;flex-direction:column;gap:1rem}.data-option{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background-color:var(--bg-color, #f8f9fa);border-radius:8px}.data-option.danger{border:1px dashed var(--danger-color, #f44336)}.data-option-info{display:flex;align-items:flex-start;gap:1rem}.data-icon{font-size:1.5rem;color:var(--primary-color, #5c6bc0);background-color:var(--card-bg, white);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.data-option.danger .data-icon{color:var(--danger-color, #f44336)}.data-option-info h4{margin:0;color:var(--text-color, #333)}.data-option-info p{margin:.25rem 0 0;color:var(--text-muted, #6b7280);font-size:.9rem}.success-message{position:fixed;top:2rem;right:2rem;background:var(--success-color, #4CAF50);color:#fff;padding:1rem 1.5rem;border-radius:12px;display:flex;align-items:center;gap:.75rem;font-weight:500;box-shadow:0 4px 15px #4caf5033;animation:slideIn .3s ease;z-index:1000}.success-message i{font-size:1.2rem}.close-message{background:none;border:none;color:#fff;margin-left:1rem;cursor:pointer;font-size:1rem;opacity:.7;transition:opacity .2s ease}.close-message:hover{opacity:1}@keyframes slideIn{0%{transform:translate(100px);opacity:0}to{transform:translate(0);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay, rgba(0, 0, 0, .5));display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--card-bg, white);padding:2rem;border-radius:16px;width:90%;max-width:500px;box-shadow:0 10px 30px var(--shadow-color, rgba(0, 0, 0, .1));animation:scaleIn .3s ease}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;font-size:var(--h2-size, 1.75rem);color:var(--primary-color, #1a237e);display:flex;align-items:center;gap:.75rem}.danger-modal .modal-header h2{color:var(--danger-color, #f44336)}.close-modal{background:none;border:none;font-size:1.5rem;color:var(--text-muted, #64748b);cursor:pointer}.modal-content{margin-bottom:1.5rem}.warning-icon{text-align:center;margin-bottom:1.5rem}.warning-icon i{font-size:4rem;color:var(--danger-color, #f44336)}.modal-content h3{margin-top:0;color:var(--text-color, #333);font-size:var(--h3-size, 1.3rem)}.confirmation-checkbox{margin-top:2rem;display:flex;align-items:center;gap:.75rem}.confirmation-checkbox input{width:18px;height:18px}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay, rgba(0, 0, 0, .5));z-index:90}@media (max-width: 992px){.theme-options,.font-size-options{flex-direction:column}}@media (max-width: 768px){.settings-container{padding:1rem;flex-direction:column}.mobile-menu-toggle{display:flex}.settings-sidebar{position:fixed;top:0;left:-100%;bottom:0;width:85%;max-width:300px;height:100%;border-radius:0;z-index:100;overflow-y:auto;transition:left .3s ease}.sidebar-header{display:flex}.settings-sidebar.show{left:0}.sidebar-overlay{display:block}.settings-content{padding:0;width:100%}.settings-card{padding:1.5rem}.profile-picture-section{flex-direction:column;align-items:center;text-align:center}.modal{width:95%;padding:1.5rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.success-message{width:90%;left:5%;right:5%}}.grades-table{width:100%;border-collapse:collapse;margin-bottom:2rem}.grades-table th{background-color:#f5f5f5;padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.grades-table td{padding:1rem;border-bottom:1px solid #eee;color:#555}.status-badge{display:inline-block;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.status-badge.complete{background-color:#e8f5e9;color:#2e7d32}.status-badge.pending{background-color:#fff3e0;color:#ff8f00}.status-badge.overdue{background-color:#ffebee;color:#c62828}.performance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.performance-card{background-color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000000d;text-align:center}.performance-card h3{color:#333;font-size:1.2rem;margin-bottom:1.5rem}.grade-circle{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#ff9800,#ff5722);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.grade-circle span{color:#fff;font-size:1.8rem;font-weight:700}.performance-card p{color:#666;font-size:1rem}@media (max-width: 768px){.table-responsive{overflow-x:auto}.performance-cards{grid-template-columns:1fr}}:root{--sidebar-width: 250px;--sidebar-width-tablet: 200px;--topbar-height: 64px;--primary-color: orange;--hover-bg: #ffe5cc;--text-color: #555;--border-color: #eee}@media only screen and (max-width: 600px){.sidebar{transform:translate(-100%);transition:transform .3s ease;width:250px}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;display:none}.sidebar-overlay.show{display:block}.main-content{margin-left:0!important;max-width:100%!important}.navbar,.topbar{padding:.75rem 1rem}.navbar-links{display:none}.search-input{width:150px}.page-content{padding:1rem}.mobile-menu-toggle{display:flex!important}.hide-on-mobile{display:none!important}.navbar-user-info{gap:.3rem}}@media only screen and (min-width: 601px) and (max-width: 768px){.sidebar{width:var(--sidebar-width-tablet)}.main-content{margin-left:var(--sidebar-width-tablet);max-width:calc(100% - var(--sidebar-width-tablet))}.navbar-links{gap:1rem}.search-input{width:200px}}@media only screen and (min-width: 769px) and (max-width: 992px){.search-input{width:250px}}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-column{display:flex;flex-direction:column}.mobile-menu-toggle{background:none;border:none;color:var(--text-color);font-size:1.5rem;cursor:pointer;display:none;padding:.5rem}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;width:100%}@media only screen and (max-width: 600px){.grid-container{grid-template-columns:1fr}}.responsive-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:transform .2s,box-shadow .2s;height:100%;display:flex;flex-direction:column}.responsive-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;width:100%}.responsive-list{display:flex;flex-direction:column;gap:1rem;width:100%}.responsive-item{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:1rem;transition:transform .2s,box-shadow .2s}.responsive-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.responsive-container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.responsive-form{width:100%;max-width:600px;margin:0 auto}.responsive-form input,.responsive-form textarea,.responsive-form select{width:100%;padding:.75rem;margin-bottom:1rem;border-radius:4px;border:1px solid #ddd;font-size:1rem}.responsive-form button{padding:.75rem 1.5rem;background:orange;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .2s}.responsive-form button:hover{background:#ff8c00}@media (max-width: 768px){.responsive-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.responsive-card{padding:1rem}.responsive-container{padding:0 .75rem}}@media (max-width: 480px){.responsive-grid{grid-template-columns:1fr}.responsive-form{padding:0 .5rem}}.app{min-height:100vh;width:100%;background:#f8f9fa}.dashboard-layout{display:flex;min-height:100vh;width:100%;position:relative}.main-content{flex:1;margin-left:250px;display:flex;flex-direction:column;min-height:100vh;max-width:calc(100% - 250px);transition:margin-left .3s ease,max-width .3s ease}.page-content{flex:1;background:#f8f9fa;padding:20px;overflow-y:auto;height:calc(100vh - 64px);position:relative}@media (max-width: 768px){.main-content{margin-left:0;max-width:100%}.page-content{padding:15px}}
