*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;color:#333;line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}header{background:#2563eb;color:#fff;padding:20px;border-radius:8px;margin-bottom:20px;text-align:center}header h1{font-size:28px;font-weight:600}.tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e5e7eb}.tab-btn{background:none;border:none;padding:12px 24px;font-size:16px;cursor:pointer;color:#6b7280;border-bottom:3px solid transparent;transition:all .2s}.tab-btn:hover{color:#2563eb}.tab-btn.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:500}.tab-content{display:none;background:#fff;padding:24px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.tab-content.active{display:block}.loading{text-align:center;padding:40px;color:#6b7280;font-size:16px}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:16px;table-layout:fixed}#leaderboard-table th:nth-child(1),#leaderboard-table td:nth-child(1){width:60px}#leaderboard-table th:nth-child(2),#leaderboard-table td:nth-child(2){width:150px}#leaderboard-table th:nth-child(3),#leaderboard-table td:nth-child(3){width:100px}#leaderboard-table th:nth-child(4),#leaderboard-table td:nth-child(4){width:100px}#leaderboard-table th:nth-child(5),#leaderboard-table td:nth-child(5){width:80px}#leaderboard-table th:nth-child(6),#leaderboard-table td:nth-child(6){width:auto}thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}th{text-align:left;padding:12px;font-weight:600;color:#374151;font-size:14px}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{background:#f3f4f6}td{padding:12px;border-bottom:1px solid #e5e7eb;font-size:14px}tbody tr:hover{background:#f9fafb}.student-link{color:#2563eb;text-decoration:none;font-weight:500;transition:color .2s}.student-link:hover{color:#1d4ed8;text-decoration:underline}.cpv-bar-container{width:100%;height:20px;background:#e5e7eb;border-radius:4px;overflow:hidden}.cpv-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .3s}.trend-controls{margin-bottom:24px}.trend-controls h3{margin-bottom:12px;font-size:18px;color:#374151}.student-toggles{display:flex;flex-wrap:wrap;gap:8px}.student-toggle{padding:8px 16px;border:2px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#6b7280;transition:all .2s}.student-toggle:hover{border-color:#3b82f6;color:#3b82f6}.student-toggle.active{background:#3b82f6;border-color:#3b82f6;color:#fff;font-weight:500}.chart-container{position:relative;height:400px;margin-top:20px}.session-controls{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.session-controls label{font-weight:500;color:#374151}.session-controls select{padding:8px 12px;border:2px solid #e5e7eb;border-radius:6px;font-size:14px;color:#374151;background:#fff;cursor:pointer;min-width:200px}.session-controls select:focus{outline:none;border-color:#3b82f6}.session-controls button{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.session-controls button:hover:not(:disabled){background:#059669}.session-controls button:disabled{background:#d1d5db;cursor:not-allowed}.session-info{margin-top:20px;padding:16px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.session-info p{color:#6b7280;font-size:14px;margin:0}.view-toggle{display:flex;gap:8px;margin-bottom:20px}.view-btn{padding:8px 20px;border:2px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#6b7280;transition:all .2s}.view-btn:hover{border-color:#3b82f6;color:#3b82f6}.view-btn.active{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:500}#team-leaderboard-table{table-layout:auto}#team-leaderboard-table th,#team-leaderboard-table td{width:auto}@media (max-width: 768px){.container{padding:12px}header h1{font-size:22px}.tabs{overflow-x:auto}.tab-btn{padding:10px 16px;font-size:14px;white-space:nowrap}.tab-content{padding:16px}.table-container{font-size:12px}th,td{padding:8px}.chart-container{height:300px}.session-controls{flex-direction:column;align-items:stretch}.session-controls select{width:100%}}
