.table-group{position:relative;background:#ffffff08;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--space-lg);box-shadow:var(--glass-shadow);padding:var(--space-lg);transition:all var(--transition-base);min-height:12.5rem;border:var(--glass-border)}body.light-mode .table-group{background:var(--container-bg);border:1px solid rgba(148,163,184,.2);box-shadow:0 4px 16px #0f172a0f}.table-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);height:100%}.student-seat{height:5.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--border-color);border-radius:var(--space-md);cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);background:var(--seat-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);position:relative;-webkit-user-select:none;user-select:none;overflow:hidden;box-shadow:var(--shadow-sm);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.student-seat:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,rgba(255,255,255,.1),transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.student-seat:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 12px 20px #0003;border-color:var(--color-accent-primary);z-index:5}.student-seat:hover:before{opacity:1}.student-seat.my-seat{background:linear-gradient(135deg,#6366f14d,#a855f733);border:3px solid #a855f7;box-shadow:0 0 20px #a855f766,0 0 40px #a855f733,inset 0 0 20px #a855f71a;animation:mySeatGlow 2s ease-in-out infinite;z-index:10;overflow:visible}.student-seat.my-seat .student-name{font-weight:700;color:#fff;text-shadow:0 0 10px rgba(168,85,247,.8)}.student-seat.my-seat:after{content:"\2b50  YOU";position:absolute;top:-10px;right:-10px;background:linear-gradient(135deg,#a855f7,#6366f1);color:#fff;font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:10px;box-shadow:0 2px 8px #a855f780;z-index:11}@keyframes mySeatGlow{0%,to{box-shadow:0 0 20px #a855f766,0 0 40px #a855f733,inset 0 0 20px #a855f71a;border-color:#a855f7}50%{box-shadow:0 0 30px #a855f799,0 0 60px #a855f74d,inset 0 0 30px #a855f726;border-color:#c084fc}}.light-mode .student-seat.my-seat{background:linear-gradient(135deg,#6366f133,#a855f726);box-shadow:0 0 15px #a855f74d,0 0 30px #a855f726}.light-mode .student-seat.my-seat .student-name{color:#6d28d9;text-shadow:none}body.light-mode .student-seat{background:var(--container-bg);border:2px solid rgba(148,163,184,.3);box-shadow:0 2px 8px #0f172a0a}body.light-mode .student-seat:hover{border-color:#f00842;border-style:solid;box-shadow:0 8px 20px #0f172a1a}body.light-mode .student-seat.completed{background:linear-gradient(135deg,#dcfce7f2,#bbf7d0cc);border:3px solid #22c55e;border-style:solid}body.light-mode .student-seat.absent{background:#eff3f8f2;border-color:#94a3b84d}.student-seat.completed{background:linear-gradient(135deg,var(--seat-completed-bg) 0%,rgba(78,203,113,.2) 100%);border-color:var(--seat-completed-border);border-width:3px;cursor:pointer;animation:completedPulse 2s ease-in-out infinite}.student-seat.completed:after{content:"\2713";position:absolute;top:.3125rem;right:.3125rem;color:var(--seat-completed-border);font-size:1.25rem;font-weight:700}@keyframes completedPulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 20px #4ecb7180}}@keyframes checkBounce{0%{transform:scale(0) rotate(-180deg)}50%{transform:scale(1.3) rotate(20deg)}to{transform:scale(1) rotate(0)}}@keyframes activePulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:0 0 20px #ffc94799}}.student-seat.is-active,.student-seat.is-active:hover{background:linear-gradient(135deg,#ffc94733,#ffc9470d);transform:none;border-color:var(--color-accent-warning);cursor:default;animation:activePulse 2s ease-in-out infinite}.student-seat.is-active .test-level{flex-grow:1}.student-seat.absent{background:linear-gradient(135deg,var(--seat-absent-bg) 0%,rgba(150,150,150,.1) 100%);border-color:var(--seat-absent-border);opacity:.7}.student-seat.absent .student-name,.student-seat.absent .test-level{color:var(--text-color-secondary);text-decoration:line-through}.student-seat[draggable=true]{cursor:grab;opacity:.9}.student-seat.dragging{opacity:.7;transform:scale(.95) rotate(5deg)}.drag-over{border:.125rem dashed var(--btn-primary-bg);transform:scale(1.05)}.student-name{font-size:var(--font-size-base);font-weight:700;text-align:center;color:var(--text-color-primary);pointer-events:none;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);max-width:100%;min-width:0;padding:0 var(--space-xs)}.name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.crown-indicator{font-size:1.75rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:crownFloat 3s ease-in-out infinite;flex-shrink:0}@keyframes crownFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.test-level{font-size:.75rem;font-weight:lighter;color:var(--text-color-secondary);margin-top:.3125rem;pointer-events:none}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-.3125rem)}}.student-seat.is-active .student-name{color:var(--seat-active-text);overflow:hidden}.student-seat.is-active .student-name span:not(.crown-indicator):not(.leaderboard-rank-indicator){display:inline-block;animation:wave 1.2s infinite}.student-status-message{font-size:var(--font-size-xs);font-style:italic;color:var(--seat-active-text);margin-top:var(--space-xs);font-weight:600;animation:fadeInUp .5s var(--animation-bounce)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-seat{height:5.5rem;border:3px dashed var(--border-color);border-radius:var(--space-md);background:#ffffff05;opacity:.5}.skeleton-seat{cursor:default!important;pointer-events:none}.skeleton-seat .skeleton-line{border-radius:4px;background:#ffffff14;animation:skeletonPulse 1.2s ease-in-out infinite}body.light-mode .skeleton-seat .skeleton-line{background:#00000014}.skeleton-seat .skeleton-name{width:70%;height:14px;margin-bottom:8px}.skeleton-seat .skeleton-level{width:40%;height:10px}.skeleton-leaderboard-item{padding:10px 12px;list-style:none}.skeleton-leaderboard-item .skeleton-line{border-radius:4px;background:#ffffff14;animation:skeletonPulse 1.2s ease-in-out infinite}body.light-mode .skeleton-leaderboard-item .skeleton-line{background:#00000014}@keyframes skeletonPulse{0%,to{opacity:.4}50%{opacity:1}}@media(max-width:1366px){.student-seat,.empty-seat{height:4.5rem;border-radius:var(--space-md)}}
