.modal {
z-index: 1060 !important; 
}

.modal-backdrop {
z-index: 1050 !important; 
}
    
body.modal-open { 
overflow: hidden !important; 
}

.bg-seed {
width: 16px;
height: 16px;
line-height: 16px;
border-radius: 50%;
font-weight: 700;
color: #333;
background-color: #0dcaf0;
display: inline-flex;
justify-content: center;
}

.bg-handicap {
width: 16px;
height: 16px;
line-height: 16px;
border-radius: 50%;
font-weight: 700;
color: #ccc;
background-color: #dc3545;
display: inline-flex;
justify-content: center;
}

@keyframes flash-bg {
    0% { background-color: rgba(255, 193, 7, 0); }   /* Przezroczyste */
    50% { background-color: rgba(255, 193, 7, 0.5); } /* Żółty (Bootstrap Warning) */
    100% { background-color: rgba(255, 193, 7, 0); }  /* Powrót do przezroczystości */
}

.score-flash-bg {
    animation: flash-bg 1.5s ease-in-out;
}

.shake-animation {
animation: shake 0.4s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes shake {
10%, 90% { transform: translate3d(-1px, 0, 0); }
20%, 80% { transform: translate3d(2px, 0, 0); }
30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
40%, 60% { transform: translate3d(4px, 0, 0); }
}

blink-danger {
  animation: blink-danger 1.5s infinite;
}

@keyframes blink-danger {
  0%, 100% { background-color: var(--bs-danger); }
  50% { background-color: transparent; }
}

.status-dot {
width: 12px;
height: 12px;
background: #0d6efd;
border-radius: 50%;
display: inline-block;
}

.match-active {
background-color: rgba(13, 110, 253, 0.1) !important; 
border-left: 4px solid #0d6efd !important;
}

.match-paused {
background-color: rgba(255, 193, 7, 0.05) !important;
border-left: 4px solid #ffc107 !important;
}

.shadow-glow {
filter: drop-shadow(0 0 5px #0d6efd);
animation: pulse-blue 2s infinite;
}

@keyframes flash-yellow {
0% { outline: 0px solid #ffc107; box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.7); }
50% { outline: 5px solid #ffc107; box-shadow: 0 0 20px 10px rgba(255, 193, 7, 0.5); }
100% { outline: 0px solid #ffc107; box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); }
}

.score-flash {
animation: flash-yellow-double 1.2s ease-out;
}

@keyframes flash-yellow-double {
    0%, 45%, 100% { outline: 0px solid #ffc107; box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); }
    20% { outline: 8px solid #ffc107; box-shadow: 0 0 20px 10px rgba(255, 193, 7, 0.6); }
    70% { outline: 8px solid #ffc107; box-shadow: 0 0 20px 10px rgba(255, 193, 7, 0.6); }
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}

input[type=number] {
-moz-appearance: textfield;
}

@media (max-width: 576px) {
.player-grid img { width: 32px !important; height: 32px !important; }
.player-grid .fw-semibold { font-size: 0.85rem !important; }
#matchModal .btn-sm {padding: 10px 15px !important; font-size: 1.2rem;}
.match-player {font-size: 0.875rem;}
}