.client-panel{transition:all .3s ease}.client-panel:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.client-panel .card{border:1px solid #dee2e6;border-radius:8px}.client-panel .card-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;padding:.75rem 1rem}.client-panel .card-body{padding:1rem}.connection-status{font-size:.75rem;padding:.25rem .5rem}.form-group{margin-bottom:.75rem}.form-label{font-size:.875rem;font-weight:500;margin-bottom:.25rem;color:#495057}.battery-display{font-weight:600;color:#28a745}.btn-group-vertical .btn{margin-bottom:.25rem;font-size:.875rem}.btn-group-vertical .btn:last-child{margin-bottom:0}#eventLog{background-color:#f8f9fa;border:1px solid #dee2e6;padding:.75rem;border-radius:4px}.log-entry{margin-bottom:.25rem;line-height:1.4;word-wrap:break-word}.log-entry:last-child{margin-bottom:0}.admin-status h6{color:#495057;font-weight:600;margin-bottom:.5rem}.admin-status ul{margin-bottom:.5rem;padding-left:1.25rem}.admin-status li{margin-bottom:.25rem}.room-info{padding:.5rem;background-color:#f8f9fa;border-radius:4px;border-left:3px solid #007bff}.room-info strong{color:#495057}.client-count{font-weight:600;color:#007bff}.card-header h5{color:#495057;font-weight:600}@media(max-width:768px){.client-panel{margin-bottom:1rem}.btn-group-vertical .btn{font-size:.8rem;padding:.375rem .75rem}#eventLog{height:300px!important}}@media(max-width:576px){.container-fluid{padding-left:.5rem;padding-right:.5rem}.card-body{padding:.75rem}.btn-block{font-size:.875rem;padding:.5rem}}.connection-status{transition:all .3s ease}.badge-success{animation:pulse-success 2s infinite}@keyframes pulse-success{0%{box-shadow:0 0 0 0 rgba(40,167,69,.7)}70%{box-shadow:0 0 0 10px rgba(40,167,69,0)}100%{box-shadow:0 0 0 0 rgba(40,167,69,0)}}.battery-slider::-webkit-slider-thumb{appearance:none;height:20px;width:20px;border-radius:50%;background:#28a745;cursor:pointer}.battery-slider::-moz-range-thumb{height:20px;width:20px;border-radius:50%;background:#28a745;cursor:pointer;border:0}.battery-display.low-battery{color:#dc3545!important;font-weight:700}.battery-display.medium-battery{color:#ffc107!important;font-weight:600}.btn.loading{position:relative;color:transparent}.btn.loading::after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.has-error{border-color:#dc3545!important;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.has-success{border-color:#28a745!important;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.heartbeat-active{position:relative}.heartbeat-active::before{content:"💓";position:absolute;top:-5px;right:-5px;font-size:12px;animation:heartbeat 1s ease-in-out infinite}@keyframes heartbeat{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1)}}.room-indicator{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.5rem}.room-indicator.room-1{background-color:#007bff}.room-indicator.room-2{background-color:#28a745}.room-indicator.room-3{background-color:#ffc107}.room-indicator.room-4{background-color:#dc3545}.room-indicator.unassigned{background-color:#6c757d}#eventLog::-webkit-scrollbar{width:8px}#eventLog::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}#eventLog::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}#eventLog::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.tooltip-inner{max-width:300px;text-align:left}.game-state{font-size:.75rem}.game-state.text-success .game-state-text{font-weight:600;color:#28a745!important}.game-state.text-danger .game-state-text{font-weight:600;color:#dc3545!important}.start-game-btn:disabled{opacity:.5}.stop-game-btn:disabled{opacity:.5}.btn-group-vertical.btn-group-sm .btn{padding:.25rem .5rem;font-size:.75rem;line-height:1.2}.room-info .d-flex{align-items:flex-start}.room-info .btn-group-vertical{min-width:60px}@media print{.btn,.form-control,.form-check-input{display:none!important}.client-panel{break-inside:avoid;margin-bottom:1rem}#eventLog{height:auto!important;max-height:300px;overflow:visible!important}}