body { background: #f7f7f8; }
.card { border: 0; border-radius: .5rem; }
.btn { border-radius: .5rem; }
.admin-section { margin-bottom: 2rem; scroll-margin-top: 1rem; }
.admin-table { border-radius: .5rem; overflow: hidden; }
.admin-table tbody tr:hover { background: #eef3f8; }
.player-thumb {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    background: #e9ecef;
}
.pairing-pool {
    display: grid;
    gap: .5rem;
}
.pairing-player,
.pairing-slot,
.pairing-assigned {
    display: flex;
    align-items: center;
    gap: .5rem;
}
.pairing-player {
    cursor: grab;
    padding: .5rem;
    border: 1px solid #dee2e6;
    border-radius: .5rem;
    background: #fff;
}
.pairing-dropzone {
    display: grid;
    gap: .5rem;
}
.pairing-slot {
    min-height: 46px;
    padding: .5rem;
    border: 1px dashed #adb5bd;
    border-radius: .5rem;
    background: #f8f9fa;
}
.pairing-position {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #212529;
    color: #fff;
    font-size: .8rem;
}
.pairing-assigned {
    width: 100%;
}
.pairing-assigned button {
    margin-left: auto;
}
.attendance-table-window {
    max-height: 58vh;
    overflow-y: auto;
}
.attendance-table-window thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #fff;
}
