.co-tablist{display:flex}.co-tablist button{border-color:transparent;border-radius:0;color:#000;font-size:16px;font-weight:400;letter-spacing:normal;line-height:1.2em;padding:15px 30px;text-decoration:none;text-transform:none}.co-tablist button:active,.co-tablist button:focus,.co-tablist button:hover{background-color:#000;color:#fff;outline:none;transform:translateY(0)}.co-tab{background:#e3e3e3;border:0;cursor:pointer;padding:15px 40px}.co-tab[aria-selected=true]{background-color:#000;color:#fff;outline:none;transform:translateY(0)}.co-panels{background:#fff;border:1px solid #000;min-height:500px;padding:0}.co-panel{display:none}.co-panel.is-active{display:block}.assignment-list{list-style-type:none;margin:0;padding:0}.assignment-header{align-items:center;display:flex;justify-content:space-between}.assignment-header button{background-color:#fff;border:1px solid #959595;border-radius:5px;color:#000;font-size:16px;padding:5px 10px;text-decoration:none}.assignment-header button:active,.assignment-header button:focus,.assignment-header button:hover{background-color:#000;color:#fff;cursor:pointer;outline:none;transform:translateY(0)}.assignment-list h3{font-size:18px;line-height:1em;margin-bottom:10px}.assignment-list p{margin:0}.assignment-list .assignment{margin:20px 0;padding:20px}.assignment-list .assignment+.assignment{border-top:1px solid #ddd}.assignment-list .assignment-attachments{display:flex;flex-direction:row;gap:10px;list-style-type:none;margin:0;padding:0}.assignment-list .assignment-attachments li a{background-color:#ddd;border-radius:5px;font-size:14px;padding:5px 10px}.course-about{padding:20px}.course-about p span{font-size:14px;font-weight:700}.course-about button{background-color:#fff;border:1px solid #959595;border-radius:5px;color:#000;font-size:16px;padding:5px 10px;text-decoration:none}.course-about button:active,.course-about button:focus,.course-about button:hover{background-color:#000;color:#fff;cursor:pointer;outline:none;transform:translateY(0)}#roster-content{padding:20px}#roster-content .stats-dashboard{border:1px solid #000;display:flex;flex-direction:row;gap:60px;justify-content:space-around;margin-bottom:30px;padding:40px 70px}#roster-content .stats-dashboard__item{display:flex;flex-direction:column;text-align:center}#roster-content .stats-dashboard__item h2{margin-bottom:0}#roster-content .stats-dashboard__item span{display:block}#roster-content .stats-dashboard__item .stat-value{font-size:48px;line-height:48px;margin-bottom:30px}#roster-content .stats-dashboard__item .stat-label{font-size:16px;line-height:16px}#roster-content .roster-table{border-collapse:collapse;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);font-size:14px;margin:20px 0;overflow:hidden;width:100%}#roster-content .roster-table thead{background-color:#000;color:#fff}#roster-content .roster-table thead th{font-size:12px;font-weight:600;letter-spacing:.5px;padding:15px 12px;text-align:left;text-transform:uppercase}#roster-content .roster-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background-color .2s ease}#roster-content .roster-table tbody tr:hover{background-color:#f8f9fa}#roster-content .roster-table tbody tr:nth-child(2n){background-color:#fafafa}#roster-content .roster-table tbody tr:nth-child(2n):hover{background-color:#f0f0f0}#roster-content .roster-table tbody td{border-right:1px solid #f0f0f0;padding:12px;vertical-align:middle}#roster-content .roster-table tbody td:last-child{border-right:none}#roster-content .roster-table .learner-name{color:#333;font-weight:600}#roster-content .roster-table .progress{color:#28a745;font-weight:600}#roster-content .roster-table .completed-assignments{font-weight:500;text-align:center}#roster-content .roster-table .last-activity,#roster-content .roster-table .start-date{color:#666;font-size:13px}#roster-content .roster-table .total-lessons{color:#007bff;font-weight:500;text-align:center}#roster-content .roster-table .last-lesson{color:#666;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#roster-content .roster-table .empty-state,#roster-content .roster-table .error-state{color:#666;font-style:italic;padding:40px 20px;text-align:center}#roster-content .roster-table .error-state{background-color:#f8d7da;color:#dc3545}#roster-content .roster-table .progress-container{align-items:center;display:flex;gap:8px}#roster-content .roster-table .progress-bar{background-color:#e9ecef;border-radius:4px;height:8px;overflow:hidden;width:60px}#roster-content .roster-table .progress-fill{background-color:#28a745;height:100%;transition:width .3s ease}@media (max-width:768px){#roster-content .roster-table{font-size:12px}#roster-content .roster-table tbody td,#roster-content .roster-table thead th{padding:8px 6px}#roster-content .roster-table .last-lesson{max-width:120px}}#roster-content .roster-table .loading-row{color:#666;padding:40px 20px;text-align:center}#roster-content .roster-table .loading-row td{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.resources-container{margin:0 auto}.upload-section{border-radius:8px;padding:20px}.upload-section h3{color:#333;margin-bottom:20px;margin-top:0}.upload-widget{width:100%}.upload-dropzone{align-items:center;background-color:#f8f9fa;border:2px dashed #007bff;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:40px 20px;transition:all .3s ease}.upload-dropzone:hover{background-color:#e7f3ff;border-color:#0056b3}.upload-dropzone.dragover{background-color:#d4edda;border-color:#28a745}.upload-input{display:none}.upload-icon{color:#007bff;margin-bottom:16px}.upload-text{text-align:center}.upload-primary{color:#333;font-size:18px;font-weight:600;margin-bottom:8px}.upload-secondary{color:#666;font-size:14px;margin-bottom:4px}.upload-size{color:#999;font-size:12px}.upload-progress{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-top:20px;padding:20px}.progress-bar{background-color:#e9ecef;border-radius:10px;height:20px;margin-bottom:10px;overflow:hidden;width:100%}.progress-fill{background-color:#007bff;border-radius:10px;height:100%;transition:width .3s ease;width:0}.progress-text{color:#333;font-weight:500;text-align:center}.upload-results{margin-top:20px}.upload-success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:4px;color:#155724}.upload-error,.upload-success{margin-bottom:10px;padding:15px}.upload-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.error-message,.success-message{font-weight:500;margin:0}.error-list,.success-list{margin:10px 0 0;padding-left:20px}.error-list li,.success-list li{margin-bottom:4px}.resources-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.resource-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:all .3s ease}.resource-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.resource-placeholder{color:#666;font-style:italic}.resource-placeholder,.resources-updated{grid-column:1/-1;padding:40px 20px;text-align:center}.resources-updated{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724}@media (max-width:768px){.upload-dropzone{min-height:150px;padding:20px 15px}.upload-primary{font-size:16px}.resources-grid{grid-template-columns:1fr}}